![]() |
|
|
![]()
|
|
| stallman |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 2.10.2008 Репутация: нет Всего: нет |
Имеется 2 класса 1. class busOSG : public QMainWindow, Ui::busOSGClass 2. class AnalyseWindow : public QWidget, Ui::AnalyseWindowClass Из первого вызывается второй
В первом есть слот. Его необходимо вызвать из второго класса (AnalyseWindow) Насколько я понимаю должно быть что-то типо такого:
но так не работает потому что QWidget не есть busOSG. Но если на его место ставить busOSG - все ломается. Как выйти из ситуации ? Статический слот - не выход. Это сообщение отредактировал(а) stallman - 9.4.2009, 10:11 |
||||
|
|||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Насчёт типов (QWidget/busOSG) - важен не статический, а фактический (ран-тайм) тип объекта. Ибо вызов слотов основан на вызове виртуальной функции metaObject. |
|||
|
||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
Можно взглянуть на код этих двух классов?
|
|||
|
||||
| stallman |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 2.10.2008 Репутация: нет Всего: нет |
busOSG.cpp
AnalyseWindow.cpp
Это сообщение отредактировал(а) stallman - 9.4.2009, 12:10 |
||||
|
|||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
1. Убери все коннекты из конструктора и засунь из в какой-то метод типа init();
2. Добавь в *.pro файле строчку
и посмотри, что выводится в консоль при нажатии на кнопки в AnalyseWindow |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Хидер покажите
|
|||
|
||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
Любитель, тогда бы ниче не скомпилировалось... Хотя, может и не компилируется
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Разве? Если мы наследуемся от QObject то получаем в распоряжение connect. SIGNAL/SLOT макросы также доступны. Но, если нету макроса Q_OBJECT, не будет запущен moc, не буду сгенерены маппинги сингалов/слотов (по именам). Соответственно они не будут работать. Почему не скомпилируется? |
|||
|
||||
| Acer |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
При вот таком коде
получаем:
Это сообщение отредактировал(а) Acer - 10.4.2009, 16:44 |
||||
|
|||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Круто! Надо проверить на современных версиях Qt. Сдаётся мне что всё-таки это не ошибка компилятора, а чекер qmake-а.
Это сообщение отредактировал(а) Любитель - 10.4.2009, 18:09 |
|||
|
||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
у меня 4.5.0 |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Я догадался
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |