在创建Qt窗口时,有时为了美观,需要给窗口设置背景色,一般会在样式表中设置,如下所示:
TextWidget{ background:#1A3551; }
但有时候发现运行之后,并没有设置成功,可以在代码中重写paintEvent事件:
void TextWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QStyleOption opt;
opt.init(this);
style()->drawPrimitive(QStyle::PE_Widget,&opt, &painter,this);
}
具体出现原因以及解决原理还未总结。