我正在使用 PyQt。因为我使用的是 Qt 样式表,所以我必须将对象名称设置为我想要在样式规则中指定的小部件(例如“#deleteButton { font-size: 14px; }”)。 在代码中,我必须这样做:
...
self.deleteButton = QToolButton(self)
self.deleteButton.setObjectName("deleteButton")
...
但我会这样做:
...
self.deleteButton = QToolButton(self)
self.deleteButton.setObjectName(self.deleteButton.__give_my_instance_name__)
...
如果我找到一种方法,我可以将其应用到容器中的所有小部件。
提前致谢
最佳答案
您想要完成的事情最好使用以下代码来完成:
for name, obj in self.__dict__.iteritems():
if isinstance(obj, QtCore.QObject) and not obj.objectName(): # QObject without a name
obj.setObjectName(name)
在对象创建例程结束时使用它。
关于Python:如何在运行时获取实例的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4575275/