c ++ qt QObject :: connect: такого слота нет

Я определил свой слот так:

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)

Почему мой слот не работает?

1

Решение

Я думаю, что проблема в том, что в вашем определении SLOT вы указали имя переменной «отступить», что не правильно. Определения SLOT и SIGNAL должны иметь только имя и типы функций. Так:

connect(chp3, SIGNAL(clicked()), this, SLOT(prendpixel1(Pixel)));

Кстати, я думаю, что это также чувствительно к пространству, так SLOT(anotherfn(Pixel, Pixel)) также будет неправильно.

НТН, Рут

5

Другие решения

Вы объявили void choixPoints :: prendpixel1 (Отступ пикселей) в качестве открытого слота в заголовке?
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

2

По вопросам рекламы [email protected]