例如
class A : public QObject
{
Q_OBJECT
public:
void f(int);
void f();
};
A a;
QAction action(0);
connect(&action, &QAction::triggered, &a, &A::f); // error because 2 f functions.
除了重命名2个重载函数之外,如何克服它?感谢。
答案 0 :(得分:4)
QT5仍然支持" old"使用完整原型连接的方式:
connect((&action, SIGNAL(triggered()), &a, SLOT(f(int));
或
connect((&action, SIGNAL(triggered()), &a, SLOT(f());
编辑:使用新的方式可以使用演员表(我自己没试过):
connect((&action, &QAction::triggered, &a, static_cast<void (A::*)(int)>(&A::f));