我想使用qss按对象名设置QWidget背景,但不起作用。
下面的代码,我可以使用QLable的对象名来装饰背景颜色,
为什么我也不能使用QWidget的对象名?
from PySide2 import QtCore, QtGui, QtWidgets
class Ui_Monitor(object):
def setupUi(self, Monitor):
Monitor.setObjectName("Monitor")
Monitor.resize(100, 100)
self.verticalLayout = QtWidgets.QVBoxLayout(Monitor)
self.verticalLayout.setObjectName("verticalLayout")
self.qwidget2 = QtWidgets.QWidget(Monitor)
self.qwidget2.setObjectName('qwidget2')
self.verticalLayout.addWidget(self.qwidget2)
self.qlabel = QtWidgets.QLabel('rrr')
self.qlabel.setObjectName('qlabel')
self.verticalLayout.addWidget(self.qlabel)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Monitor = QtWidgets.QWidget()
ui = Ui_Monitor()
Monitor.setStyleSheet("""
QLabel#qlabel { <-----this can work!
background-color: #FFBBAA;
}
QWidget#qwidget2 { <-----nothing occur!
background-color: #FFAABB;
}
""")
ui.setupUi(Monitor)
Monitor.show()
sys.exit(app.exec_())