Я использую QPainter на QPixmap в качестве основы рисования. И QGraphicsScene содержит QPixmap. Картина работает хорошо. Но проблема в том, что когда я меняю цвет фона QGraphicsView, он не отражается на экране. Я пытался с помощью QPixmap :: fill (Qt :: tranparent). Но это не сработало.
Как мне добиться такого прозрачного QPixmap?
Спасибо заранее?
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();
}
Задача ещё не решена.
Других решений пока нет …