a = QtGui.QLineEdit()
有没有一种方法可以查询变量 a
是哪个 Qt 小部件?看起来有些 Qt 小部件会提供 .uiType
属性。但是有些(比如布局)不会。
type
内建函数获取任何对象的类型:print type(a)
您可能也对__name__
和__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文档。
staticMetaObject
可以工作,但它是用于类的。对于实例, 有metaObject()
方法。 - ekhumoro
__name__
,以防他想要类对象的名称。但我同意这有点令人困惑,因为他的代码中有一个实例。我已经按照你说的方式进行了修复。感谢指出错误。 :) - user2555451