Qgraphicsscene背景不会改变

时间:2013-03-28 22:57:39

标签: c++ linux qt qtembedded

我是Qt.i的新手我正在通过QGraphicsScene类处理画布小部件。但是我无法更改小部件的默认白色背景。这是code.i已经尝试使用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();


}

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:-1)

view.setStyleSheet("background-color: black;");