繁体   English   中英

我可以更改除窗口以外的所有Qt wingets背景

[英]I can change all the qt wingets background except window

我遇到问题,无法从qt窗口更改背景。 我可以更改MainWindow和所有其他小部件的背景,但是当我尝试在另一个窗口中进行更改时,它不会改变。 我对所有小部件和窗口都使用相同的图像,所以位置不是问题。

我正在使用带有样式表和Visual Studio 2013的qt Designer。奇怪的是,在QtDesigner中,MainWindow背景在我编译并运行所有内容之前是不可见的,但是在其他窗口中背景是可见的,但是当我编译时。

我已经尝试通过代码,但结果相同。

有什么帮助吗?

在寻找另一个类似的问题时,我发现了这一点: QtStylesheet

我的问题的答案是该帖子的第二个答案。 问题是我必须重新实现paintEvent(),因为没有它,该小部件将仅支持background,background-clip和background-origin属性。

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

该代码取自另一篇文章的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM