欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 关于QWidget无法使用CSS设置背景的问题

关于QWidget无法使用CSS设置背景的问题

2025/7/2 19:05:58 来源:https://blog.csdn.net/timiki/article/details/144218704  浏览:    关键词:关于QWidget无法使用CSS设置背景的问题

问题

       相信大家都遇到过这样一个问题,使用QtCreator进行界面设计,当创建一个Form后,一般都要为这个Form设计背景图,最简单的操作,就是在css中设置相应的样式表,如下

QWidget#UserLogin{background-image:url(:/Resources/Images/UserLogin/LoginPageBg.png);background-repeat: no-repeat;background-position: center;background-size: cover;
}

       但是,你会发现,这样操作以后运行程序是不起作用的。对象名、资源路径、属性名都没有问题,即便清理项目、重新编译也无济于事。什么原因?

       很大可能是因为Qt的某些窗口类型可能默认不渲染背景,例如 QMainWindow 或 QDialog,需要显式地设置属性。

解决办法

       要在Form对应的cpp文件中的构造函数中加一句代码即可,如下

setAttribute(Qt::WA_StyledBackground, true);

       只有设置属性Qt::WA_StyledBackground,才能对基于QWidget创建的子QWidget的顶层布局器设置背景。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词