Qt样式表设置背景对子控件产生影响的解决方法

在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等。 

父窗口用setStyleSheet()设置后子窗口一定会受到影响


如上图所示,对父窗口设置样式表后,子控件QPushButton也受到了影响

为了消除这个影响,样式表采用如下格式:

 #对象名{ 

border-image: url(:/Main_GUI/Main_GUI_bckgd.png);
}
#对象名* { 
border-image: url();
}

如上图所示,此时子控件没有受到样式表的影响。



补充:

扫描二维码关注公众号,回复: 1892189 查看本文章

样式表中的border-image是缩放填充,如下图:


background-image是原比例填充,空白地方会重复填充


猜你喜欢

转载自blog.csdn.net/qq_25800311/article/details/80898704