0

I am using QPainter on QPixmap as the painting framework. And QGraphicsScene is holding the QPixmap. The painting works well. But the problem is when I change the the background-color of the QGraphicsView it does not get reflected on the screen. I tried by QPixmap::fill(Qt::tranparent). But it didnt work.

How can I achieve this kind of transparent QPixmap? Thanx in advance?

int main(int argc, char **argv){

QApplication a(argc, argv);

QMainWindow *win = new QMainWindow();
win->resize(600,600);
win->move(80,80);
win->show();


QGraphicsScene *scene = new QGraphicsScene(win);
QGraphicsView view(scene,win);
view.resize(590,590);
view.setBackgroundBrush(QColor(rand()%255,rand()%255, rand()%255, 255));
view.show();

QPixmap *pix = new QPixmap(600,600);
pix->fill(&view,QPoint(0,0));
QGraphicsPixmapItem *item = scene->addPixmap(*pix);

QPainter *painter = new QPainter(pix);


int count=10;
while(count){

    painter->setPen((*new QColor(rand()%255,rand()%255, rand()%255, 255)));
    painter->setBrush(QColor(rand()%255,rand()%255, rand()%255, 255));
    painter->drawRect(rand()%300, rand()%300, rand()%300, rand()%300);


    item->setPixmap(*pix);
    a.processEvents(0x00);
    count--;

}


return a.exec();

}
manmatha.roy
  • 577
  • 1
  • 9
  • 22

0 Answers0