Seite 1 von 1

brauche Hilfe zu QGraphicsView

Verfasst: 28. August 2009 12:37
von nisa06
hallo zu folgendem code haette ich eine Frage:

Code: Alles auswählen


// //////////////////////////////////////////////////////
void GUI_MainWnd::SetupGUI()
// //////////////////////////////////////////////////////
{
  m_pCanvas     = new GUI_BoardCanvas(this);
  m_pBoardView  = new QGraphicsView( m_pCanvas, this );
  
  m_pBoardView->setSceneRect(0,0,m_pCanvas->width() ,m_pCanvas->height());
  m_pBoardView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
  m_pBoardView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
  setCentralWidget(m_pBoardView);
}
wobei GUI_MainWnd eine abgeleitete QMainWindow Klasse ist und SetupGUI aus dem Konstruktor aufgerufen wird, ferner m_pBoardView vom Typ QGraphicsView ist und m_pCanvas ist eine abgeleitete QGraphicsScene, deren drawBackground Methode
wiefolgt ueberschrieben wurde:

Code: Alles auswählen

// //////////////////////////////////////////////////////
void GUI_BoardCanvas::drawBackground ( QPainter * painter, const QRectF & rect )
// //////////////////////////////////////////////////////
{
  painter->setPen(Qt::black);
  painter->fillRect(0, 0, width(), height(),Qt::black);
}
mein Problem:

die QGraphicsView enthaelt die (schwarz ausgefuellte) besagte QGraphicsScene. Allerdings sieht es so aus, als ob die GraphicsView links und rechts ( in der Farbe Weiss ) groesser ist als die GraphicsScene.

(siehe angehaengtem bild)

Ich will allerdings dass die View die Scene voellig umschliesst und keine weissen Raender zu sehen sind.

Wie macht man das!?!?

Danke.

Verfasst: 29. August 2009 01:31
von Strahlex
1. müsstest du keine QGraphicsScene ableiten, denn einen schwarzen Brush könntest du per setBackgroundBrush setzen
2. scheint dein View größer zu sein als die Scene, wieso machst du die View nicht einfach kleiner?