我是Qt的新手,我正在通过QGraphicsScene类处理 Canvas 小部件,但是我无法更改小部件的默认白色背景,这是代码。我试图使用QBrush设置背景。但是它没有用.it保持白色。以下代码中的问题是什么?
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();
}
最佳答案
尝试将颜色传递到画笔构造器中,而不是在之后传递
QBrush brush(QColor(0x70, 0x80, 0x50, 255));
canvas.setBackgroundBrush(brush);
它将画笔样式设置为
Qt::SolidPattern
。默认的画笔构造函数将样式设置为Qt::NoBrush
。参见http://qt-project.org/doc/qt-4.8/qbrush.html#QBrush关于c++ - Qgraphicsscene背景不变,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15693615/