如何获取 Qt 小部件类型
How to get Qt widget type
a = QtGui.QLineEdit()
有没有办法查询变量 a
是什么 Qt 小部件?
似乎某些 Qt 小部件将提供 .uiType
属性。但有些(如布局)不是。
您可以使用 type
built-in:
获取 Python 中任何对象的类型
print type(a)
您可能还对 __name__
and __class__
属性感兴趣,该属性将保存与小部件名称和 class:
对应的数据
type(a).__name__ # Returns class name as a string
a.__class__ # Same as type(a)
但是请注意,如果您需要执行 类型检查,您应该使用 isinstance
:
isinstance(a, type_to_test_for)
这将考虑继承。
你试过了吗a.metaObject().className()
?
有关详细信息,请参阅 QObject 文档。
a = QtGui.QLineEdit()
有没有办法查询变量 a
是什么 Qt 小部件?
似乎某些 Qt 小部件将提供 .uiType
属性。但有些(如布局)不是。
您可以使用 type
built-in:
print type(a)
您可能还对 __name__
and __class__
属性感兴趣,该属性将保存与小部件名称和 class:
type(a).__name__ # Returns class name as a string
a.__class__ # Same as type(a)
但是请注意,如果您需要执行 类型检查,您应该使用 isinstance
:
isinstance(a, type_to_test_for)
这将考虑继承。
你试过了吗a.metaObject().className()
?
有关详细信息,请参阅 QObject 文档。