在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等。
父窗口用setStyleSheet()设置后子窗口一定会受到影响
如上图所示,对父窗口设置样式表后,子控件QPushButton也受到了影响
为了消除这个影响,样式表采用如下格式:
#对象名{
border-image: url(:/Main_GUI/Main_GUI_bckgd.png);
}
#对象名* {
border-image: url();
}
}
#对象名* {
border-image: url();
}
如上图所示,此时子控件没有受到样式表的影响。
补充:
扫描二维码关注公众号,回复:
1892189 查看本文章
样式表中的border-image是缩放填充,如下图:
background-image是原比例填充,空白地方会重复填充