PyQt6每日一练,第三天,QObject对象名称和属性的操作

    def QObject对象名称和属性的操作(self):
        # *************测试API***************开始
        obj = QObject()
        obj.setObjectName("notice")
        print(obj.objectName())
        #
        obj.setProperty("notice_level", "error")
        obj.setProperty("notice_level2", "warning")
        #
        print(obj.property("notice_level"))
        print(obj.dynamicPropertyNames())
        # **************测试API**************结束

        # ***************案例***************开始
        with open("QObject.qss", "r") as f:
            app.setStyleSheet(f.read())

        label = QLabel(self)
        label.setObjectName("notice")
        label.setProperty("notice_level", "warning")
        label.setText("hi,pdb")
        # label.setStyleSheet('font-size:20px;color:red')

        label2 = QLabel(self)
        label2.move(100, 100)
        label2.setObjectName("notice")
        label2.setProperty("notice_level", "error")
        label2.setText("hello,pdb")
        # ***************案例***************结束

QObject.qss

QLabel{
    font-size: 20px;
    color:red;
}
QLabel#notice {
    font-size: 20px;
    color: gray;
    border: 1px solid gray;
    border-radius: 8px;
}
QLabel#notice[notice_level="normal"] {
    color: green;
    border-color: green;
}
QLabel#notice[notice_level="warning"] {
    color: yellow;
    border-color: yellow;
}
QLabel#notice[notice_level="error"] {
    color: red;
    border-color: red;
}