如果有一个参数,则显示错误
作为示例,我有一个函数
void MyClass::foo( int i, int j ){ cout << i+j; }
和我希望一个信号在类
的某个函数上执行一个槽connect( Object, SIGNAL( mysignal() ), SLOT( this->foo(1,2) ) );
QT有关于信号和插槽的优秀文档http://qt-project.org/doc/qt-5/signalsandslots.html,请确保您理解语法。在你的例子中,它将是像
这样的东西connect( pointerToObjectEmittingTheSignal, SIGNAL(my_signal(int, int) ),
this, SLOT(my_slot(int, int));
另外,你的信号声明应该有两个类型为int
和int
的参数
signals:
void my_signal(int, int);
注意,在Qt5中您可以使用新的信号/槽语法并这样写:
connect( pointerToObjectEmittingTheSignal, &MyClass::my_signal,
this, &MyOtherClass::my_slot);
的优点是,如果你犯了一个错误,你会得到一个编译时错误,而不是一个运行时错误。