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 –
QMetaMethodmethod –
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 –
QObjectmember – str
val0 –
QGenericArgumentval1 –
QGenericArgumentval2 –
QGenericArgumentval3 –
QGenericArgumentval4 –
QGenericArgumentval5 –
QGenericArgumentval6 –
QGenericArgumentval7 –
QGenericArgumentval8 –
QGenericArgumentval9 –
QGenericArgument
- Return type:
布尔
请使用此函数的可变参数重载。
此函数重载了
invokeMethod()。此重载使用连接类型
AutoConnection调用成员并忽略返回值。- static invokeMethod(object, member[, val0={}[, val1={}[, val2={}[, val3={}[, val4={}[, val5={}[, val6={}[, val7={}[, val8={}[, val9={}]]]]]]]]]])
- Parameters:
object –
QObjectmember – str
val0 –
QGenericArgumentHolderval1 –
QGenericArgumentHolderval2 –
QGenericArgumentHolderval3 –
QGenericArgumentHolderval4 –
QGenericArgumentHolderval5 –
QGenericArgumentHolderval6 –
QGenericArgumentHolderval7 –
QGenericArgumentHolderval8 –
QGenericArgumentHolderval9 –
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 –
QObjectmember – str
ret –
QGenericReturnArgumentval0 –
QGenericArgumentval1 –
QGenericArgumentval2 –
QGenericArgumentval3 –
QGenericArgumentval4 –
QGenericArgumentval5 –
QGenericArgumentval6 –
QGenericArgumentval7 –
QGenericArgumentval8 –
QGenericArgumentval9 –
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 –
QObjectmember – str
type –
ConnectionTypeval0 –
QGenericArgumentval1 –
QGenericArgumentval2 –
QGenericArgumentval3 –
QGenericArgumentval4 –
QGenericArgumentval5 –
QGenericArgumentval6 –
QGenericArgumentval7 –
QGenericArgumentval8 –
QGenericArgumentval9 –
QGenericArgument
- Return type:
布尔
请使用此函数的可变参数重载。
此函数重载了
invokeMethod()。如果对成员的返回值不感兴趣,可以使用此重载。
- static invokeMethod(object, member, type[, val0={}[, val1={}[, val2={}[, val3={}[, val4={}[, val5={}[, val6={}[, val7={}[, val8={}[, val9={}]]]]]]]]]])
- Parameters:
object –
QObjectmember – str
type –
ConnectionTypeval0 –
QGenericArgumentHolderval1 –
QGenericArgumentHolderval2 –
QGenericArgumentHolderval3 –
QGenericArgumentHolderval4 –
QGenericArgumentHolderval5 –
QGenericArgumentHolderval6 –
QGenericArgumentHolderval7 –
QGenericArgumentHolderval8 –
QGenericArgumentHolderval9 –
QGenericArgumentHolder
- Return type:
布尔
- static invokeMethod(object, member, ret[, val0={}[, val1={}[, val2={}[, val3={}[, val4={}[, val5={}[, val6={}[, val7={}[, val8={}[, val9={}]]]]]]]]]])
- Parameters:
object –
QObjectmember – str
ret –
QGenericReturnArgumentHolderval0 –
QGenericArgumentHolderval1 –
QGenericArgumentHolderval2 –
QGenericArgumentHolderval3 –
QGenericArgumentHolderval4 –
QGenericArgumentHolderval5 –
QGenericArgumentHolderval6 –
QGenericArgumentHolderval7 –
QGenericArgumentHolderval8 –
QGenericArgumentHolderval9 –
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 –
QObjectmember – str
type –
ConnectionTyperet –
QGenericReturnArgumentval0 –
QGenericArgumentval1 –
QGenericArgumentval2 –
QGenericArgumentval3 –
QGenericArgumentval4 –
QGenericArgumentval5 –
QGenericArgumentval6 –
QGenericArgumentval7 –
QGenericArgumentval8 –
QGenericArgumentval9 –
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 –
QObjectmember – str
type –
ConnectionTyperet –
QGenericReturnArgumentHolderval0 –
QGenericArgumentHolderval1 –
QGenericArgumentHolderval2 –
QGenericArgumentHolderval3 –
QGenericArgumentHolderval4 –
QGenericArgumentHolderval5 –
QGenericArgumentHolderval6 –
QGenericArgumentHolderval7 –
QGenericArgumentHolderval8 –
QGenericArgumentHolderval9 –
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 –
QGenericArgumentval1 –
QGenericArgumentval2 –
QGenericArgumentval3 –
QGenericArgumentval4 –
QGenericArgumentval5 –
QGenericArgumentval6 –
QGenericArgumentval7 –
QGenericArgumentval8 –
QGenericArgumentval9 –
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交换。此操作非常快速且永远不会失败。