PySide6.QtCore.QMetaObject¶
- class QMetaObject¶
概要¶
方法¶
def
__repr__()
def
cast()
def
classInfo()
def
classInfoCount()
def
className()
def
constructor()
def
enumerator()
def
indexOfMethod()
def
indexOfSignal()
def
indexOfSlot()
def
inherits()
def
metaType()
def
method()
def
methodCount()
def
methodOffset()
def
newInstance()
def
property()
def
propertyCount()
def
propertyOffset()
def
superClass()
def
userProperty()
静态函数¶
def
disconnect()
def
disconnectOne()
def
invokeMethod()
def
normalizedType()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
表示信号槽(或信号函数对象)连接的句柄。
它可以用来检查连接是否有效,并使用
disconnect()
断开连接。对于没有上下文对象的信号-函数连接,这是选择性断开该连接的唯一方法。由于 Connection 只是一个句柄,当 Connection 被销毁或重新分配时,底层的信号-槽连接不受影响。
- class Call¶
- __repr__()¶
- Return type:
字符串
- static checkConnectArgs(signal, method)¶
- Parameters:
signal –
QMetaMethod
method –
QMetaMethod
- Return type:
布尔
这是一个重载函数。
如果
signal
和method
参数兼容,则返回true
;否则返回false
。- static checkConnectArgs(signal, method)
- Parameters:
signal – str
method – str
- Return type:
布尔
如果
signal
和method
参数兼容,则返回true
;否则返回false
。预计
signal
和method
都将被规范化。- classInfo(index)¶
- Parameters:
索引 – int
- Return type:
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
返回具有给定
index
的类信息项的元数据。示例:
class MyClass(QObject): Q_OBJECT Q_CLASSINFO("author", "Sabrina Schweinsteiger") Q_CLASSINFO("url", "http://doc.moosesoft.co.uk/1.0/") # public ...
- classInfoCount()¶
- Return type:
整数
返回此类中类信息的项目数量。
- classInfoOffset()¶
- Return type:
整数
返回此类的类信息偏移量;即此类第一个类信息项的索引位置。
如果该类没有带有类信息的超类,则偏移量为0;否则,偏移量是该类的所有超类中类信息项的总和。
- className()¶
- Return type:
字符串
返回类名。
另请参阅
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
递归搜索给定
object
的所有子对象,并将它们中的匹配信号连接到object
的槽,这些槽遵循以下形式:on_<object = void(<signal parameters>)
假设我们的对象有一个类型为
QPushButton
的子对象,其object name
为button1
。用于捕获按钮的clicked()
信号的槽函数将是:def on_button1_clicked():
如果
object
本身有一个正确设置的对象名称,它自己的信号也会连接到它各自的槽。另请参阅
- constructor(index)¶
- Parameters:
索引 – int
- Return type:
返回具有给定
index
的构造函数的元数据。- constructorCount()¶
- Return type:
整数
返回此类中的构造函数数量。
- static disconnect(sender, signal_index, receiver, method_index)¶
- static disconnectOne(sender, signal_index, receiver, method_index)¶
返回具有给定
index
的枚举器的元数据。- enumeratorCount()¶
- Return type:
整数
返回此类中的枚举器数量。
- enumeratorOffset()¶
- Return type:
整数
返回此类的枚举器偏移量;即此类第一个枚举器的索引位置。
如果类没有带有枚举器的超类,则偏移量为0;否则,偏移量是该类所有超类中枚举器的总和。
- indexOfClassInfo(name)¶
- Parameters:
name – str
- Return type:
整数
查找类信息项
name
并返回其索引;否则返回 -1。- indexOfConstructor(constructor)¶
- Parameters:
constructor – str
- Return type:
整数
查找
constructor
并返回其索引;否则返回 -1。请注意,
constructor
必须是以规范化形式存在,如normalizedSignature()
所返回的那样。- indexOfEnumerator(name)¶
- Parameters:
name – str
- Return type:
整数
查找枚举器
name
并返回其索引;否则返回 -1。- indexOfMethod(method)¶
- Parameters:
method – str
- Return type:
整数
查找
method
并返回其索引;否则返回 -1。请注意,
method
必须是以规范化形式存在,如normalizedSignature()
返回的那样。- indexOfProperty(name)¶
- Parameters:
name – str
- Return type:
整数
查找属性
name
并返回其索引;否则返回 -1。- indexOfSignal(signal)¶
- Parameters:
signal – str
- Return type:
整数
查找
signal
并返回其索引;否则返回 -1。这与
indexOfMethod()
相同,只是如果方法存在但不是信号,它将返回 -1。请注意,
signal
必须处于归一化形式,如normalizedSignature()
所返回的那样。- indexOfSlot(slot)¶
- Parameters:
slot – str
- Return type:
整数
查找
slot
并返回其索引;否则返回 -1。这与
indexOfMethod()
相同,只是如果方法存在但不是槽位,它将返回 -1。- inherits(metaObject)¶
- Parameters:
metaObject –
QMetaObject
- Return type:
布尔
如果由这个
QMetaObject
描述的类继承了由metaObject
描述的类型,则返回true
;否则返回false。类型被认为继承自身。
- static invokeMethod(obj, member, val0[, val1=QGenericArgument()[, val2=QGenericArgument()[, val3=QGenericArgument()[, val4=QGenericArgument()[, val5=QGenericArgument()[, val6=QGenericArgument()[, val7=QGenericArgument()[, val8=QGenericArgument()[, val9=QGenericArgument()]]]]]]]]])¶
- Parameters:
obj –
QObject
member – str
val0 –
QGenericArgument
val1 –
QGenericArgument
val2 –
QGenericArgument
val3 –
QGenericArgument
val4 –
QGenericArgument
val5 –
QGenericArgument
val6 –
QGenericArgument
val7 –
QGenericArgument
val8 –
QGenericArgument
val9 –
QGenericArgument
- Return type:
布尔
请使用此函数的可变参数重载。
此函数重载了
invokeMethod()
。此重载使用连接类型
AutoConnection
调用成员并忽略返回值。- static invokeMethod(object, member[, val0={}[, val1={}[, val2={}[, val3={}[, val4={}[, val5={}[, val6={}[, val7={}[, val8={}[, val9={}]]]]]]]]]])
- Parameters:
object –
QObject
member – str
val0 –
QGenericArgumentHolder
val1 –
QGenericArgumentHolder
val2 –
QGenericArgumentHolder
val3 –
QGenericArgumentHolder
val4 –
QGenericArgumentHolder
val5 –
QGenericArgumentHolder
val6 –
QGenericArgumentHolder
val7 –
QGenericArgumentHolder
val8 –
QGenericArgumentHolder
val9 –
QGenericArgumentHolder
- Return type:
布尔
- static invokeMethod(obj, member, ret[, val0=QGenericArgument(nullptr)[, val1=QGenericArgument()[, val2=QGenericArgument()[, val3=QGenericArgument()[, val4=QGenericArgument()[, val5=QGenericArgument()[, val6=QGenericArgument()[, val7=QGenericArgument()[, val8=QGenericArgument()[, val9=QGenericArgument()]]]]]]]]]])
- Parameters:
obj –
QObject
member – str
ret –
QGenericReturnArgument
val0 –
QGenericArgument
val1 –
QGenericArgument
val2 –
QGenericArgument
val3 –
QGenericArgument
val4 –
QGenericArgument
val5 –
QGenericArgument
val6 –
QGenericArgument
val7 –
QGenericArgument
val8 –
QGenericArgument
val9 –
QGenericArgument
- Return type:
布尔
请使用此函数的可变参数重载。
此函数重载了
invokeMethod()
。此重载始终使用连接类型
AutoConnection
调用成员。- static invokeMethod(obj, member, type, val0[, val1=QGenericArgument()[, val2=QGenericArgument()[, val3=QGenericArgument()[, val4=QGenericArgument()[, val5=QGenericArgument()[, val6=QGenericArgument()[, val7=QGenericArgument()[, val8=QGenericArgument()[, val9=QGenericArgument()]]]]]]]]])
- Parameters:
obj –
QObject
member – str
type –
ConnectionType
val0 –
QGenericArgument
val1 –
QGenericArgument
val2 –
QGenericArgument
val3 –
QGenericArgument
val4 –
QGenericArgument
val5 –
QGenericArgument
val6 –
QGenericArgument
val7 –
QGenericArgument
val8 –
QGenericArgument
val9 –
QGenericArgument
- Return type:
布尔
请使用此函数的可变参数重载。
此函数重载了
invokeMethod()
。如果对成员的返回值不感兴趣,可以使用此重载。
- static invokeMethod(object, member, type[, val0={}[, val1={}[, val2={}[, val3={}[, val4={}[, val5={}[, val6={}[, val7={}[, val8={}[, val9={}]]]]]]]]]])
- Parameters:
object –
QObject
member – str
type –
ConnectionType
val0 –
QGenericArgumentHolder
val1 –
QGenericArgumentHolder
val2 –
QGenericArgumentHolder
val3 –
QGenericArgumentHolder
val4 –
QGenericArgumentHolder
val5 –
QGenericArgumentHolder
val6 –
QGenericArgumentHolder
val7 –
QGenericArgumentHolder
val8 –
QGenericArgumentHolder
val9 –
QGenericArgumentHolder
- Return type:
布尔
- static invokeMethod(object, member, ret[, val0={}[, val1={}[, val2={}[, val3={}[, val4={}[, val5={}[, val6={}[, val7={}[, val8={}[, val9={}]]]]]]]]]])
- Parameters:
object –
QObject
member – str
ret –
QGenericReturnArgumentHolder
val0 –
QGenericArgumentHolder
val1 –
QGenericArgumentHolder
val2 –
QGenericArgumentHolder
val3 –
QGenericArgumentHolder
val4 –
QGenericArgumentHolder
val5 –
QGenericArgumentHolder
val6 –
QGenericArgumentHolder
val7 –
QGenericArgumentHolder
val8 –
QGenericArgumentHolder
val9 –
QGenericArgumentHolder
- Return type:
对象
- static invokeMethod(obj, member, type, ret[, val0=QGenericArgument(nullptr)[, val1=QGenericArgument()[, val2=QGenericArgument()[, val3=QGenericArgument()[, val4=QGenericArgument()[, val5=QGenericArgument()[, val6=QGenericArgument()[, val7=QGenericArgument()[, val8=QGenericArgument()[, val9=QGenericArgument()]]]]]]]]]])
- Parameters:
obj –
QObject
member – str
type –
ConnectionType
ret –
QGenericReturnArgument
val0 –
QGenericArgument
val1 –
QGenericArgument
val2 –
QGenericArgument
val3 –
QGenericArgument
val4 –
QGenericArgument
val5 –
QGenericArgument
val6 –
QGenericArgument
val7 –
QGenericArgument
val8 –
QGenericArgument
val9 –
QGenericArgument
- Return type:
布尔
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
这是一个重载函数。
请使用此函数的可变参数重载
在对象
obj
上调用member
(信号或槽名称)。如果成员可以被调用,则返回true
。如果没有这样的成员或参数不匹配,则返回false
。有关更多信息,请参见可变参数函数
invokeMethod()
。此函数的行为应与该函数相同,但有以下限制:参数的数量限制为10。
参数名称可能需要完全匹配的字符串。
元类型不会自动注册。
使用异步方法调用时,参数的类型必须是Qt元对象系统已经知道的类型,因为Qt需要复制参数以在幕后将它们存储在事件中。如果您尝试使用队列连接并收到错误消息
QMetaObject.invokeMethod: Unable to handle unregistered datatype 'MyType'
在调用
invokeMethod()
之前,调用qRegisterMetaType()
来注册数据类型。另请参阅
Q_ARG()
Q_RETURN_ARG()
qRegisterMetaType()
invoke()
- static invokeMethod(object, member, type, ret[, val0={}[, val1={}[, val2={}[, val3={}[, val4={}[, val5={}[, val6={}[, val7={}[, val8={}[, val9={}]]]]]]]]]])
- Parameters:
object –
QObject
member – str
type –
ConnectionType
ret –
QGenericReturnArgumentHolder
val0 –
QGenericArgumentHolder
val1 –
QGenericArgumentHolder
val2 –
QGenericArgumentHolder
val3 –
QGenericArgumentHolder
val4 –
QGenericArgumentHolder
val5 –
QGenericArgumentHolder
val6 –
QGenericArgumentHolder
val7 –
QGenericArgumentHolder
val8 –
QGenericArgumentHolder
val9 –
QGenericArgumentHolder
- Return type:
对象
返回与此元对象对应的元类型。如果元对象源自命名空间,则返回无效的元类型。
- method(index)¶
- Parameters:
索引 – int
- Return type:
返回具有给定
index
的方法的元数据。- methodCount()¶
- Return type:
整数
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
返回此类中的方法数量,包括每个基类提供的方法数量。这些包括信号和槽以及普通成员函数。
使用如下代码来获取包含特定类方法的
QStringList
:QMetaObject* metaObject = obj.metaObject() methods = QStringList() for i in range(metaObject.methodOffset(), metaObject.methodCount()): methods << QString.fromLatin1(metaObject.method(i).methodSignature())
- methodOffset()¶
- Return type:
整数
返回此类的方法偏移量;即此类第一个成员函数的索引位置。
偏移量是类所有超类中方法的总和(由于
QObject
具有deleteLater()槽和destroyed()信号,因此始终为正)。- newInstance(val0[, val1=QGenericArgument()[, val2=QGenericArgument()[, val3=QGenericArgument()[, val4=QGenericArgument()[, val5=QGenericArgument()[, val6=QGenericArgument()[, val7=QGenericArgument()[, val8=QGenericArgument()[, val9=QGenericArgument()]]]]]]]]])¶
- Parameters:
val0 –
QGenericArgument
val1 –
QGenericArgument
val2 –
QGenericArgument
val3 –
QGenericArgument
val4 –
QGenericArgument
val5 –
QGenericArgument
val6 –
QGenericArgument
val7 –
QGenericArgument
val8 –
QGenericArgument
val9 –
QGenericArgument
- Return type:
请使用此函数的可变参数重载
构造该类的新实例。您可以向构造函数传递最多十个参数(
val0
,val1
,val2
,val3
,val4
,val5
,val6
,val7
,val8
, 和val9
)。返回新对象,如果没有合适的构造函数可用,则返回None
。请注意,只有使用
Q_INVOKABLE
修饰符声明的构造函数才能通过元对象系统使用。另请参阅
Q_ARG()
constructor()
- static normalizedSignature(method)¶
- Parameters:
method – str
- Return type:
规范化给定
method
的签名。Qt 使用规范化签名来决定两个给定的信号和槽是否兼容。规范化将空白减少到最小,将 'const' 移到前面(如果适用),从值类型中移除 'const',并用值替换常量引用。
- static normalizedType(type)¶
- Parameters:
类型 – str
- Return type:
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
规范化一个
type
。请参阅
normalizedSignature()
了解Qt如何进行规范化。示例:
normType = QMetaObject.normalizedType(" int *") # normType is now "const int*"
- property(index)¶
- Parameters:
索引 – int
- Return type:
返回具有给定
index
的属性的元数据。如果不存在这样的属性,则返回一个空的QMetaProperty
。- propertyCount()¶
- Return type:
整数
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
返回此类中的属性数量,包括每个基类提供的属性数量。
使用如下代码来获取包含特定类属性的
QStringList
:QMetaObject* metaObject = obj.metaObject() properties = QStringList() for i in range(metaObject.propertyOffset(), metaObject.propertyCount()): properties << QString.fromLatin1(metaObject.property(i).name())
- propertyOffset()¶
- Return type:
整数
返回此类的属性偏移量;即此类第一个属性的索引位置。
偏移量是类所有超类中属性的总和(由于
QObject
具有name()属性,因此始终为正)。- superClass()¶
- Return type:
返回超类的元对象,如果没有这样的对象,则返回
None
。另请参阅
- userProperty()¶
- Return type:
返回具有
USER
标志设置为true的属性。另请参阅
- class Connection¶
概要¶
方法¶
def
__init__()
def
swap()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
表示信号槽(或信号函数对象)连接的句柄。
它可以用来检查连接是否有效,并使用
disconnect()
断开连接。对于没有上下文对象的信号-函数连接,这是选择性断开该连接的唯一方法。由于 Connection 只是一个句柄,当 Connection 被销毁或重新分配时,底层的信号-槽连接不受影响。
- __init__()¶
创建一个连接实例。
- __init__(other)
- Parameters:
其他 –
Connection
创建指向
other
连接的句柄副本- swap(other)¶
- Parameters:
其他 –
Connection
将此Connection实例与
other
交换。此操作非常快速且永远不会失败。