QMetaMethod 的淘汰成员

以下是 QMetaMethod 类的以下成员已弃用。 它们提供是为了让旧源代码仍然可以工作。我们强烈建议不要在新代码中使用它们。

公共函数

(已弃用) boolinvoke(QObject *object, Qt::ConnectionType connectionType, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(nullptr), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const
(已弃用) boolinvoke(QObject *object, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const
(已弃用) boolinvoke(QObject *object, Qt::ConnectionType connectionType, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const
(已弃用) boolinvoke(QObject *object, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const
(已弃用) boolinvokeOnGadget(void *gadget, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(nullptr), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const
(已弃用) boolinvokeOnGadget(void *gadget, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

成员函数文档

[已过时] bool QMetaMethod::invoke(QObject *object, Qt::ConnectionType connectionType, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(nullptr), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

此函数已过时。我们强烈建议不要在新代码中使用它。

请使用此函数的可变长度重载版本。

在对象 object 上调用此方法。如果成员可以被调用,则返回 true。如果没有该成员或参数不匹配,则返回 false

有关更多信息,请参阅可变长度 invokeMethod() 函数。此函数的行为应与此函数相同,但有以下限制:

  • 参数数量限制为 10。
  • 参数名称可能需要与精确字符串匹配。
  • 元类型不是自动注册的。

在异步方法调用中,参数必须是 Qt 的元对象系统已知的类型,因为 Qt 需要将参数复制到存储在事件后面的场景中。如果您尝试使用队列连接并得到以下错误消息:

QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType'

在调用 QMetaMethod::invoke() 之前使用 qRegisterMetaType() 注册数据类型。

警告:除了可变长度 invoke() 重载的限制外,参数必须与方法预期的类型相同,否则行为未定义。

另请参阅Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), 和 QMetaObject::invokeMethod().

[已废弃] bool QMetaMethod::invoke(QObject *object, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

此函数已过时。我们强烈建议不要在新代码中使用它。

请使用此函数的可变长度重载版本。

此函数重载了 invoke() 函数。

此重载总是使用连接类型 Qt::AutoConnection 调用此方法。

[已废弃] bool QMetaMethod::invoke(QObject *object, Qt::ConnectionType connectionType, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

此函数已过时。我们强烈建议不要在新代码中使用它。

请使用此函数的可变长度重载版本。

此函数重载了 invoke() 函数。

如果成员的返回值不重要,则可以使用此重载。

[已废弃] bool QMetaMethod::invoke(QObject *object, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

此函数已过时。我们强烈建议不要在新代码中使用它。

请使用此函数的可变长度重载版本。

此函数重载了 invoke() 函数。

此重载使用连接类型 Qt::AutoConnection 调用此方法并忽略返回值。

[已废弃] bool QMetaMethod::invokeOnGadget(void *gadget, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(nullptr), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

此函数已过时。我们强烈建议不要在新代码中使用它。

请使用此函数的可变长度重载版本。

Q_GADGET上调用此方法。如果成员能够被调用,则返回true。如果没有此类成员或参数不匹配,则返回false

有关更多信息,请参阅可变长度 invokeMethod() 函数。此函数的行为应与此函数相同,但有以下限制:

  • 参数数量限制为 10。
  • 参数名称可能需要与精确字符串匹配。
  • 元类型不是自动注册的。

警告:除了invoke()重载的限制外,参数类型必须与方法期望的类型相同,否则行为是未定义的。

另请参阅Q_ARG(), Q_RETURN_ARG(), qRegisterMetaType(), 和 QMetaObject::invokeMethod().

[已废弃] bool QMetaMethod::invokeOnGadget(void *gadget, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

此函数已过时。我们强烈建议不要在新代码中使用它。

这是一个重载函数。

请使用此函数的可变长度重载版本。

这个重载会为gadget调用此方法并忽略返回值。

© 2024 Qt 公司有限公司。此处包含的文档贡献的版权归其各自的所有者。此文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3许可的。Qt及其相关标志是芬兰及/或在其他国家的Qt公司的商标。所有其他商标均为其各自所有者的财产。