1

我是 Qt 的新手。我正在通过 QGraphicsScene 类处理画布小部件。但我无法更改小部件的默认白色背景。这是代码。我尝试使用 QBrush 设置背景。但它不起作用.它仍然是白色的。下面的代码有什么问题?

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();


}
4

2 回答 2

6

尝试将颜色传递给画笔构造函数而不是之后

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

于 2013-03-28T23:16:02.577 回答
-1
view.setStyleSheet("background-color: black;");
于 2013-03-29T05:14:17.863 回答