Здравствуйте, гость ( Вход | Регистрация )
|
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 |
28.3.2009, 2:50
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(igor_bogomolov @ 28.3.2009, 2:40) Link Вот здесь непонятно нет! Это в певую очередь указатель! просто он имеет тип QDialog, т.е. может ссылаться на QDialog и его наследников.void setupUi(QDialog *ShipmentFormClass); Ну QDialog же это!!! А класс shipment_operation как раз и есть наследник QDialog. И в конструкторе этого класса в функцию setupUi передается указатель именно на shipment_operation. См. пояснение в Link. П.С. Я в начале тоже стрмозил, и не посмотрел на объявление иначе б проблема раньше всплыла. Для справки: Троли рекомендуют у всех прямых или косвенных наследников QObject в обявлении класса писать макрос Q_OBJECT, даже если не исполуются сигналы и слоты. |
|
|
|
LE0N Реюз интерфейса... 27.3.2009, 12:40
Litkevich Yuriy Цитата(LE0N @ 27.3.2009, 15:40) QDialog::... 27.3.2009, 13:08
LE0N Так я наследника QDialog передаю...
class shipment... 27.3.2009, 13:31
Litkevich Yuriy Цитата(LE0N @ 27.3.2009, 16:31) Так я нас... 27.3.2009, 13:41
LE0N QT_BEGIN_NAMESPACE
class Ui_ShipmentFormClass
{
p... 27.3.2009, 13:58
igor_bogomolov Цитата(LE0N @ 27.3.2009, 12:40) Цитата
Ob... 27.3.2009, 17:00
LE0N Цитатаvoid setupUi(QDialog *ShipmentFormClass);
Ши... 27.3.2009, 17:44
Litkevich Yuriy Помоему всё дело в этих строчках:Цитата(LE0N ... 27.3.2009, 17:52
igor_bogomolov Цитата(LE0N @ 27.3.2009, 17:44) ШипментФо... 27.3.2009, 18:27
Litkevich Yuriy Цитата(igor_bogomolov @ 27.3.2009, 21:27)... 27.3.2009, 19:11
igor_bogomolov Цитата(Litkevich Yuriy @ 27.3.2009, 19:11... 27.3.2009, 22:49
LE0N Добавил Q_OBJECT всё заработало ))
Не мог предполо... 27.3.2009, 23:11
igor_bogomolov ???
Цитата(LE0N @ 27.3.2009, 23:11) Добав... 27.3.2009, 23:40
LE0N ЦитатаНу QDialog же это!!!
Я тоже зада... 27.3.2009, 23:46
igor_bogomolov Можете приложить архивчик с полным текстом своего ... 28.3.2009, 0:52
igor_bogomolov Создал у себя тестовый проект.
Добавил после компи... 28.3.2009, 3:04
Litkevich Yuriy Цитата(igor_bogomolov @ 28.3.2009, 6:04) ... 28.3.2009, 3:11
igor_bogomolov Спасибо за науку. Надо будет еще раз почитать про ... 28.3.2009, 3:20
Litkevich Yuriy Цитата(igor_bogomolov @ 28.3.2009, 6:20) ... 28.3.2009, 3:43
LE0N ЦитатаВ принципе не понимаю откуда в ui_***.h, кот... 28.3.2009, 10:37![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 27.12.2025, 21:37 |