c ++ qt QObject :: connect:没有这样的插槽

时间:2013-04-18 14:22:44

标签: c++ qt connect slot

我已经像这样定义了我的插槽:

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)

为什么我的插槽不起作用?

2 个答案:

答案 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