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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Связывание сигналов после приведения типа  (Прочитано 2847 раз)
ibnz
Гость
« : Апрель 26, 2013, 12:43 »

корректно ли такое связывание?

class SpecApplication: public QApplication{Q_OBJECT signals: void specialSignal()};
...

int main(int argc, char *argv[])
{
    SpecApplication a(argc, argv);
    SomeForme startForm;
    startForm.show();    
    return a.exec();
}

На каком-то виджете из SomeForm:

connect(static_cast<SpecApplication*>(qApp), SIGNAL(specialSignal()), this, SLOT(myslot()));

Сигнал точно испускается, но в слот не попадаю. MOC не ругается, но есть подозрение, что он не может правильно обработать такой финт и придется везде передавать указатель явно. Почти в этом уверен, но хочется услышать мнения.
« Последнее редактирование: Апрель 26, 2013, 12:50 от ibnz » Записан
_OLEGator_
Гость
« Ответ #1 : Апрель 26, 2013, 12:47 »

Не верно. Типы можно не приводить, поиском нужного сигнала или слота займется система метаобъектной информации.
Неверно создан класс SpecApplication - как минимум требуется макрос Q_OBJECT.
Записан
ibnz
Гость
« Ответ #2 : Апрель 26, 2013, 12:50 »

Q_OBJECT есть, замел его при сокращении при упрощении для публикации нечаянно. Поправил.
Записан
mutineer
Гость
« Ответ #3 : Апрель 26, 2013, 12:52 »

Это бессмысленно, connect все равно принимает QObject*
Записан
ibnz
Гость
« Ответ #4 : Апрель 26, 2013, 12:55 »

Это бессмысленно, connect все равно принимает QObject*
Кстати, да... спасибо.)
Но некоторый смысл все же есть, чтобы воспользоваться автопоиском сигнала в криэйторе. И только. Значит проблема не в этом. буду рыть далее спс.
Записан
mutineer
Гость
« Ответ #5 : Апрель 26, 2013, 13:06 »

Откуда уверенность что сигнал точно испускается? В консоль в рантайме выводится что-то про этот коннект? В концах коньков что коннект возвращает?
Записан
ibnz
Гость
« Ответ #6 : Апрель 26, 2013, 13:19 »

Пардон муа, в моем случае все оказалось банально до безобразия. Нужный сигнал испускался один раз до создания того объекта. Всем спасибо, это все мои душевные метания в состоянии затупа и затыка... Надо было сходить покурить)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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