如何获取 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 文档。