我已经像这样定义了我的插槽:
void choixPoints:: prendpixel1(Pixel depart)
{
//...
}
我想执行以下句子:
Pixel depart= picmou->define(); //definition of a pixel, well defined
connect(chp3, SIGNAL(clicked()), this, SLOT(prendpixel1(Pixel depart)));
然而,当我执行时,我获得:
QObject::connect: No such slot choixPoints::prendpixel1(Pixel depart)
为什么我的插槽不起作用?
答案 0 :(得分:5)
我认为问题在于你的SLOT定义中你输入了一个变量名“off”,这是不正确的。 SLOT和SIGNAL定义必须只包含函数名称和类型。所以:
connect(chp3, SIGNAL(clicked()), this, SLOT(prendpixel1(Pixel)));
BTW我认为它也是空间敏感的,所以SLOT(anotherfn(Pixel, Pixel))
也是错误的。
HTH,露丝
答案 1 :(得分:2)
您是否将void choixPoints :: prendpixel1(Pixel depart)声明为标题中的公共广告位? http://qt-project.org/doc/qt-4.8/signalsandslots.html#a-small-example
您还必须注册您的数据类型(此处:“Pixel”): http://www.developer.nokia.com/Community/Wiki/Qt_Signal/Slot_with_custom_data_types