Реюз интерфейса..., Возможно ли? |
Здравствуйте, гость ( Вход | Регистрация )
Реюз интерфейса..., Возможно ли? |
LE0N |
27.3.2009, 12:40
Сообщение
#1
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
Имеется форма, в которой разный функционал, но одинаковый интерфейс(GUI).
Хотелось бы эту форму использывать в двух разных классах отнаследованных от QDialog.... Прикрутил ui_form.h к хиадеру с новым ребёнком QDalog, форма всё нормально отображается. Но вот слоты, почему то, не работают.(Они подключаются в ui_form.h ) Ругается примерно так: Цитата Object::connect: No such slot QDialog::select_product_type(int) in ui_shipmentform.h:77 Object::connect: (sender name: 'comboBox') Object::connect: (receiver name: 'ShipmentFormClass') Хотя слот объявлен.... Во второй форме, где тоже объявлен этот слот, всё работает на 5+. В чём проблема? Сообщение отредактировал LE0N - 27.3.2009, 12:42 |
|
|
Litkevich Yuriy |
27.3.2009, 13:08
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
LE0N |
27.3.2009, 13:31
Сообщение
#3
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
Так я наследника QDialog передаю...
|
|
|
Litkevich Yuriy |
27.3.2009, 13:41
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
LE0N |
27.3.2009, 13:58
Сообщение
#5
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ну и, собственно, ui.setupUi(QDialog*) коннектит сигналы к слотам наследника. Я так понимаю, что QT ругается на QDialog потому что в setupUi передаётся указатель на QDialog типа... НО! Тоже самое делается во второй форме. И там всё работает.... |
|
|
igor_bogomolov |
27.3.2009, 17:00
Сообщение
#6
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Цитата Object::connect: No such slot QDialog::select_product_type(int) in ui_shipmentform.h:77 Object::connect: (sender name: 'comboBox') Object::connect: (receiver name: 'ShipmentFormClass') Всю информацию компилятор вам сообщил, что тут еще непонятного? Смотрим приведенный код: Слот select_product_type(int) принадлежит классу shipment_operation. Коннект делается в классе ShipmentFormClass, следущим образом Цитата QObject::connect(comboBox, SIGNAL(currentIndexChanged(int)), ShipmentFormClass, SLOT(select_product_type(int))); Приемщик сигнала в данном случае ShipmentFormClass. Есть у него слот select_product_type(int)? НЕТ. Об этом компилятор вам подробно и сообщает. |
|
|
LE0N |
27.3.2009, 17:44
Сообщение
#7
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата void setupUi(QDialog *ShipmentFormClass); ШипментФормКласс в данном случае - указатель на shipment_operation Это следует из: Цитата ui.setupUi(this); В конструкторе shipment_operation Или я чего-то не понимаю? |
|
|
Litkevich Yuriy |
27.3.2009, 17:52
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
igor_bogomolov |
27.3.2009, 18:27
Сообщение
#9
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
|
|
|
Litkevich Yuriy |
27.3.2009, 19:11
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 28.1.2025, 16:49 |