如何按objectName

时间:2017-10-29 02:59:25

标签: python pyside2

我想使用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_())

0 个答案:

没有答案