我是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/

10-10 17:45