您的位置:首页 > Web前端 > CSS

第一篇:Qt把窗口嵌入父窗口变成透明,及添加qss样式表文件后子窗口变成透明的问题

2018-01-23 10:13 911 查看
这是发布的第一篇文章,也是自己在开发过程中遇到的一些实际问题,经过操作验证,方法可行。(请多多指教!)

开发平台:vs2010 qt5.5.1

情况1:创建了窗口parent和窗口child(没有更改其他窗口属性),将child嵌入parent(嵌入窗口可见此链接:点击打开链接)时,发现child变成了透明,只有child上面的控件位置不透明,使用代码添加样式(setStyleSheet)也只有控件样式改变。

解决:在qt designer里窗口有一个属性autoFillBackground,打上勾。或者在窗口代码里面写setAutoFillBackground(true)。----------自动填充背景色

情况2:经过情况1的更改后,准备加入.qss样式表文件改变样式(qss文件引用这里不再讲诉)。样式表应用上以后,发现情况1的问题又出现了,child窗口变成了透明,查看autoFillBackground属性设置是true。

解决:在child窗口样式表文件生效以后的代码中加上setAutoFillBackground(true),我是在child窗口show()前或后加上的,解决问题。

情况2猜想:可能.qss样式表文件生效后,重置了child窗口的某些属性(如:autoFillBackground),所以需要手动再重新设置一次。(这个只是猜想)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Qt Qt Designer VS
相关文章推荐