Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Диалог в диалоге.


Автор: OlegIT 18.12.2012, 09:04
Есть разные объекты со своими свойствами, которые редактируются в своих диалогах. Некоторые свойства этих объектов совпадают. Естественное желание объединить совпадающие свойства и сделать для них один диалог, который затем включать в специфические диалоги. Диалог делаю как Dialog without Buttons с классом. Потом этот класс включаю в класс специфического диалога как родительский. Как саму форму диалога с общими свойствами поставить на форму специфического диалога?

Автор: math64 18.12.2012, 10:03
Оформляй общие части в виде виджета и вставляй в диалоги.

Автор: OlegIT 18.12.2012, 10:49
Цитата(math64 @  18.12.2012,  10:03 Найти цитируемый пост)
Оформляй общие части в виде виджета и вставляй в диалоги. 

В конструкторе главного диалога вставить
AddWidget(...);
move(...);
Так?

Автор: math64 18.12.2012, 13:50
Создаёшь в дизайнере или вручную?
Если вручную, лучше с лейаутом:
Код

QHBoxLayout* layout  = new QHBoxLayout(dialog);
QWidget* widget = new MyDialogWidget(dialog);
layout->addWidget(widget);

Если дизайнером, вставляется компонент QWidget и преобразуется в свой тип (напр. MyDialogWidget, который тоже создаётся дизайнером), но на его месте в дизайнере видишь пустой прямоугольник.

Автор: OlegIT 18.12.2012, 14:32
Цитата(math64 @  18.12.2012,  13:50 Найти цитируемый пост)
Если дизайнером, вставляется компонент QWidget и преобразуется в свой тип (напр. MyDialogWidget, который тоже создаётся дизайнером), но на его месте в дизайнере видишь пустой прямоугольник. 

Интересно, попробую.

Автор: OlegIT 19.12.2012, 09:59
Получилось с QVBoxLayout (две группы свойств, два диалога), добавляю в компонент QWidget вставленный дизайнером.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)