Qt Qbrush issue

brush, colors, qt, qt4, symbian

Solution

As the Qt doc says :

QBrush::QBrush () Constructs a default black brush with the style Qt::NoBrush (i.e. this brush will not fill shapes).

In your second example, you have to set the style of the QBrush object by setStyle(), for example with Qt::SolidPattern.

   QGraphicsScene * scence = new QGraphicsScene();
   QBrush *brush = new QBrush();
   brush->setStyle(Qt::SolidPattern); // Fix your problem !
   brush->setColor(QColor(60,20,20));
   scence->setBackgroundBrush(*brush);

   QGraphicsView *view = new QGraphicsView();
   view->setScene(scence);
   //view->setBackgroundBrush(*brush);
   //view->setCacheMode(QGraphicsView::CacheBackground);
   view->showFullScreen();

Hope it helps !

Problem

What is the difference in the following code, ``` QGraphicsScene * scence = new QGraphicsScene(); QBrush *brush = new QBrush((QColor(60,20,20))); scence->setBackgroundBrush(*brush); QGraphicsView *view = new QGraphicsView(); view->setScene(scence); //view->setBackgroundBrush(*brush); //view->setCacheMode(QGraphicsView::CacheBackground); view->showFullScreen(); ``` gives black color background ``` QGraphicsScene * scence = new QGraphicsScene(); QBrush *brush = new QBrush(); brush->setColor(QColor(60,20,20)); scence->setBackgroundBrush(*brush); QGraphicsView *view = new QGraphicsView(); view->setScene(scence); //view->setBackgroundBrush(*brush); //view->setCacheMode(QGraphicsView::CacheBackground); view->showFullScreen(); ``` it gives nothing.

Original source