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;
}

