关键字:子窗口样式无效 QStackedwidget

问题:

我有一个对话框,里面放了一个qstackedwidget,qstackedwidget放了N个子窗口,使用addwidget添加上去了;

原本我在qtcreator里设置了style,background-color: rgb(9,27,65);但是现实不出来;

解决方法-1:----------------------------------不建议用这方法,会一直占用cpu

对该子窗口的类重写paintEvent,主要核心为:

void View7IncV2Menu9Btns::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}

 

解决方法2

在此子类的构造函数调用如下代码即可:

setAttribute(Qt::WA_StyledBackground,true);

 

其他问题:

使用style,子窗口会继承,如果设置背景色,会导致该子对象比如:按钮,label等也会有同样的颜色,如果想子窗口不继承;

那么在设置style的时候就要制定自己的objectname;

#View7IncV2Menu9Btns{background-color: rgb(9,27,65);}
05-27 21:39
查看更多