Python:如何在运行时获取实例的名称?

标签 python runtime pyqt stylesheet instance

我正在使用 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/

相关文章:

python - 属性错误 : 'MyMainWindow' object has no attribute 'pushButton'

python - PyQt4无法导入Qsci

python - 在 get_queryset 中返回一个 Http 响应

python - 如何使用 matplotlib 创建多个饼图

Python/Keras - 如何访问每个时期的预测?

Java - 运行 7zip

java - 为什么Java中Integer对象的计数速度比int慢

python - 运行时警告 : overflow encountered in ubyte_scalars

python - 在 QHeaderView 和 QListWidget 之间拖放列

python - 从所有数据框列中删除子字符串