Russian Qt Forum
Ноябрь 26, 2024, 05:20
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Связывание сигналов после приведения типа
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Связывание сигналов после приведения типа (Прочитано 2846 раз)
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_
Гость
Re: Связывание сигналов после приведения типа
«
Ответ #1 :
Апрель 26, 2013, 12:47 »
Не верно. Типы можно не приводить, поиском нужного сигнала или слота займется система метаобъектной информации.
Неверно создан класс SpecApplication - как минимум требуется макрос Q_OBJECT.
Записан
ibnz
Гость
Re: Связывание сигналов после приведения типа
«
Ответ #2 :
Апрель 26, 2013, 12:50 »
Q_OBJECT есть, замел его при сокращении при упрощении для публикации нечаянно. Поправил.
Записан
mutineer
Гость
Re: Связывание сигналов после приведения типа
«
Ответ #3 :
Апрель 26, 2013, 12:52 »
Это бессмысленно, connect все равно принимает QObject*
Записан
ibnz
Гость
Re: Связывание сигналов после приведения типа
«
Ответ #4 :
Апрель 26, 2013, 12:55 »
Цитата: mutineer от Апрель 26, 2013, 12:52
Это бессмысленно, connect все равно принимает QObject*
Кстати, да... спасибо.)
Но некоторый смысл все же есть, чтобы воспользоваться автопоиском сигнала в криэйторе. И только. Значит проблема не в этом. буду рыть далее спс.
Записан
mutineer
Гость
Re: Связывание сигналов после приведения типа
«
Ответ #5 :
Апрель 26, 2013, 13:06 »
Откуда уверенность что сигнал точно испускается? В консоль в рантайме выводится что-то про этот коннект? В концах коньков что коннект возвращает?
Записан
ibnz
Гость
Re: Связывание сигналов после приведения типа
«
Ответ #6 :
Апрель 26, 2013, 13:19 »
Пардон муа, в моем случае все оказалось банально до безобразия. Нужный сигнал испускался один раз до создания того объекта. Всем спасибо, это все мои душевные метания в состоянии затупа и затыка... Надо было сходить покурить)
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...