通过setStyleSheet设置QWidget的样式,会对其内部的所有子控件都设置同样的样式,比如设置边框,有的时候只想给QWidget设置边框,而其内部子控件不设置边框,此时可以通过在setStyleSheet的字符串中加入"#objectName",因此就需要对QWidget先setObjectName。例如:
pWidget = new QWidget();
pWidget->setObjectName("pWidget");
pWidget->setStyleSheet("QWidget#pWidget{background-color:white;border:1px solid #E0DDDC;}");
此时的样式表只对objectName为"pWidget"的控件,即我们的QWidget起作用,而对其内部的其他控件都不起作用。