通过QStyle设置背景色



  • 在使用QStyle设置背景色的时候,我在函数
    @void MyStyle::polish(QPalette& pal)
    {
    pal.setBrush(QPalette::Window, QColor(71, 99, 128));
    }@

    中通过QPalette::Window来设置背景色,但是这样设置整个应用都是一样的背景色,如果我要修改某一个widget的背景色的时候,我通过
    @QPalette pal(palette());
    pal.setBrush(QPalette::Background, Qt::lightGray);
    setPalette(pal);@

    来设置某一个widget的背景,但是这样设置就会把这个widget的子widget的背景色也设置为一样的了,有没有方法可以达到
    @QWidget* widget= new QWidget();
    widget->setObjectName("widget");
    widget->setStyleSheet("QWidget#widget{background-color:lightGray}");@

    设置stylesheet中用#指定窗口的效果,但是是通过QStyle来设置。
    谢谢!


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.