任务是将一个带有一个参数的信号连接到一个不带参数的槽上。使用“旧”的Qt4连接方式,操作如下:
connect(object1, SIGNAL(signal(int param)), object2, SLOT(slot()))
但是如果我想使用类型安全的Qt5-connects呢?
文档只提到了以下情况:
连接到槽中的默认参数
并使用上述基于字符串的连接方式。
任务是将一个带有一个参数的信号连接到一个不带参数的槽上。使用“旧”的Qt4连接方式,操作如下:
connect(object1, SIGNAL(signal(int param)), object2, SLOT(slot()))
但是如果我想使用类型安全的Qt5-connects呢?
文档只提到了以下情况:
连接到槽中的默认参数
并使用上述基于字符串的连接方式。
connect(&object1, &ClassObject1::signal, &object2, &ClassObject2::slot);
qOverload<int>(&ClassObject1::signal)
或类似的方式。 - Calethconnect(object1, &Object1::signal, [this](int) { slot(); } );
您可以按照Qt4的方式进行连接,没有问题。唯一无法做到的是使用参数较少的插槽进行连接。