Я новичок в Qt.i обрабатываю виджеты холста через класс QGraphicsScene. Но я не могу изменить белый фон по умолчанию для виджета. Вот и код.i попытался использовать QBrush для установите фон. Но он не работает. Он остается белым. Какова проблема в следующем коде?Qt GraphicsScene Фон не изменяется
int main(int argc, char **argv){
QApplication a(argc, argv);
QGraphicsScene canvas;
canvas.addText("Hello World");
QColor *color=new QColor(0x70,0x80,0x50,255);
QBrush *brush=new QBrush();
brush->setColor(*color);
canvas.setBackgroundBrush(*brush);
QGraphicsView view(&canvas);
view.show();
return a.exec();
}
Это не отвечает на ваш вопрос, а просто FYI, ваш код пропускает память. Не используйте новый оператор для выделения объектов QColor и QBrush, вместо этого объявляйте их как объекты стека (так же, как вы делали с объектами QApplication и QGraphicsScene). setColor() и setBackgroundBrush() будут делать копии их в любом случае, поэтому нет никакой пользы для их размещения с новыми. –