Russian Qt Forum

Qt => Вопросы новичков => Тема начата: StatuS74 от Сентябрь 16, 2011, 07:31



Название: сигналы и слоты
Отправлено: StatuS74 от Сентябрь 16, 2011, 07:31
коннект происходит так
Код:
test * test_1 = new test;
    connect(test_1,SIGNAL(signal_error(QString)),this,SLOT(msg_error(QString)));
connect (test_1,SIGNAL(signal_sn(QString)),this,SLOT(msg(QString)));
в классе  отправители делаю
Код:
emit signal_sn(serial_ms);
msg - в MainWindow
а отправляю я из другого класса. не понимаю в чем проблема.


Название: Re: сигналы и слоты
Отправлено: lit-uriy от Сентябрь 16, 2011, 07:33
вторая строка в примере соединения - опечатка или так в действительности?

>>не понимаю в чем проблема.
а она есть?


Название: Re: сигналы и слоты
Отправлено: StatuS74 от Сентябрь 16, 2011, 07:35
так в действительности а что в ней не так ?


Название: Re: сигналы и слоты
Отправлено: StatuS74 от Сентябрь 16, 2011, 07:36
а ты про конект конект это опечатка


Название: Re: сигналы и слоты
Отправлено: StatuS74 от Сентябрь 16, 2011, 07:38
ну у меня почемуто не отправляется сигнал. вот не могу понять почему. он доходит до emit и все... а если бы он работа то на главном виджите загоралась лампочка =)


Название: Re: сигналы и слоты
Отправлено: LisandreL от Сентябрь 16, 2011, 07:46
Посмотрите в консоль приложения, возможно там есть ругань на неудавшиеся коннекты и т.п.


Название: Re: сигналы и слоты
Отправлено: StatuS74 от Сентябрь 16, 2011, 07:49
говрит Object::connect: No such slot MainWindow::MainWindow::msg(QString) in .

я так понимаю не может найти такой слот. но я описал его в главном виджите
Код:
public slots:
     void msg(QString);
     void msg_error(QString);


Название: Re: сигналы и слоты
Отправлено: StatuS74 от Сентябрь 16, 2011, 08:25
пишит в консоли приложения
 No such slot MainWindow::MainWindow::msg(QString) in . и тоже самое для второго слота..


Название: Re: сигналы и слоты
Отправлено: LisandreL от Сентябрь 16, 2011, 08:40
Q_OBJECT в MainWindow не потерялся?
Покажите полностью его объявление - MainWindow::MainWindow:: меня как-то озадачивает.


Название: Re: сигналы и слоты
Отправлено: StatuS74 от Сентябрь 16, 2011, 08:45
в mainwindow.h
Код:
public slots:
void msg(QString);
 void msg_error(QString);
в test.h
Код:
signals:
void signal_sn(QString);
void signal_error(QString);
коннект
Код:
connect (test_1,SIGNAL(signal_sn(QString)),this,SLOT(msg(QString)));
 connect (test_1,SIGNAL(signal_error(QString)),this,SLOT(msg_error(QString)));


Название: Re: сигналы и слоты
Отправлено: LisandreL от Сентябрь 16, 2011, 08:53
Покажите полностью MainWindow объявление.


Название: Re: сигналы и слоты
Отправлено: StatuS74 от Сентябрь 16, 2011, 08:55
В каком смысле объявление ?


Название: Re: сигналы и слоты
Отправлено: kambala от Сентябрь 16, 2011, 10:30
полное описание класса в mainwindow.h


Название: Re: сигналы и слоты
Отправлено: GreatSnake от Сентябрь 16, 2011, 10:35
В каком смысле объявление ?
В удалённом вами коде в #11 в mainwindow.h вроде как делался #include "mainwindow.h".
Вполне возможно, что moc-у это не понравилось.