Russian Qt Forum
Май 03, 2024, 14:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: сигналы и слоты  (Прочитано 5182 раз)
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
а отправляю я из другого класса. не понимаю в чем проблема.
« Последнее редактирование: Сентябрь 16, 2011, 07:36 от StatuS74 » Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Сентябрь 16, 2011, 07:33 »

вторая строка в примере соединения - опечатка или так в действительности?

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

Юра.
StatuS74
Гость
« Ответ #2 : Сентябрь 16, 2011, 07:35 »

так в действительности а что в ней не так ?
Записан
StatuS74
Гость
« Ответ #3 : Сентябрь 16, 2011, 07:36 »

а ты про конект конект это опечатка
Записан
StatuS74
Гость
« Ответ #4 : Сентябрь 16, 2011, 07:38 »

ну у меня почемуто не отправляется сигнал. вот не могу понять почему. он доходит до emit и все... а если бы он работа то на главном виджите загоралась лампочка =)
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #5 : Сентябрь 16, 2011, 07:46 »

Посмотрите в консоль приложения, возможно там есть ругань на неудавшиеся коннекты и т.п.
Записан
StatuS74
Гость
« Ответ #6 : Сентябрь 16, 2011, 07:49 »

говрит Object::connect: No such slot MainWindow::MainWindow::msg(QString) in .

я так понимаю не может найти такой слот. но я описал его в главном виджите
Код:
public slots:
     void msg(QString);
     void msg_error(QString);
Записан
StatuS74
Гость
« Ответ #7 : Сентябрь 16, 2011, 08:25 »

пишит в консоли приложения
 No such slot MainWindow::MainWindow::msg(QString) in . и тоже самое для второго слота..
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #8 : Сентябрь 16, 2011, 08:40 »

Q_OBJECT в MainWindow не потерялся?
Покажите полностью его объявление - MainWindow::MainWindow:: меня как-то озадачивает.
Записан
StatuS74
Гость
« Ответ #9 : Сентябрь 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)));
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #10 : Сентябрь 16, 2011, 08:53 »

Покажите полностью MainWindow объявление.
Записан
StatuS74
Гость
« Ответ #11 : Сентябрь 16, 2011, 08:55 »

В каком смысле объявление ?
« Последнее редактирование: Сентябрь 16, 2011, 10:14 от StatuS74 » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #12 : Сентябрь 16, 2011, 10:30 »

полное описание класса в mainwindow.h
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #13 : Сентябрь 16, 2011, 10:35 »

В каком смысле объявление ?
В удалённом вами коде в #11 в mainwindow.h вроде как делался #include "mainwindow.h".
Вполне возможно, что moc-у это не понравилось.
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 22.