qss中样式表不生效

qt问题记录:

1.widget是被提升的窗口(被提升为Form),我设置了样式表后它的效果如下图,但是实际跑的时候它的样式表没有显示。

qss中样式表不生效_第1张图片

 qss中样式表不生效_第2张图片

 当我取消提升后(让它变成普通的QWidget后),它就正常显现了。

qss中样式表不生效_第3张图片

 我突然想到,它不是没有显现,而是被上面的窗口覆盖掉了

2.

qss中样式表不生效_第4张图片

 这是Form的Ui设计页面(窗口被提升为Form了),注意,背景颜色是绿色,因为样式表中写了:

#Form{

background-color: rgb(0, 255, 0);/*绿色*/

}

但跑的时候不显示。

 qss中样式表不生效_第5张图片

 这说明对这个最顶层的窗口进行样式添加是没用的,不会显示

3.问题描述:

一个单独窗口可以正常显示颜色。

qss中样式表不生效_第6张图片

 在父窗口中对小窗口进行提升,不显示背景色了。qss中样式表不生效_第7张图片

 我进行了实验

左上角的是widget窗口包着一些小窗口

右下角的是frame窗口包着一些小窗口

qss中样式表不生效_第8张图片

运行效果 

 qss中样式表不生效_第9张图片

 发现如果在外层的窗口使用QFrame,而不是QWidget的话,背景色就可以正常显示

你可能感兴趣的:(qt)