Название: Проблема с QDesignerContainerExtension (Qt 4.1.3) Отправлено: Muller от Июнь 30, 2006, 10:58 Здравствуйте!
Столкнулся с проблемой в Qt, не могу понять, баг это или фича. :) Дело в том, что формы, созданные в Qt Designer с использованием QDesignerContainerExtension, при их использовании в приложении, теряют информацию о страницах, добавленных с помощью этого самого QDesignerContainerExtension. Постараюсь пояснить на примере. Создаем форму в Qt Designer (на основе QWidget). Добавляем на нее MultipageWidget из раздела "Display Widgets [Examples]" (если его нет в списке, надо собрать плагин в examples/designer/containerextension). Он уже имеет одну страницу page, с помощью контекстного меню добавляем еще две: page_2 и page_3. После этой операции в ComboBox 3 элемента: "Page 1", "Page 2", "Page 3". Сохраняем. Так выглядит текст сохраненного form.ui: Код:
Создаем файл main.cpp: Код:
Создаем проект, включив в него файлы main.cpp, form.ui, а также multipagewidget.h и multipagewidget.cpp из собранного плагина. Компилируем, запускаем и видим, что страницы не добавлены, ComboBox пуст. Почему это происходит, понятно из сгенерированного кода (файл ui_form.h): виджеты page, page_2, page_3 создаются, но не добавляются как страницы (нет вызова MultiPageWidget::addPage()). Можно, конечно, сделать вызов этой функции в порожденном классе, но я склоняюсь к мнению, что все же это недоработка со стороны Trolltech. К тому же мне надо использовать динамическое создание форм с помощью QUiLoader, в этом случае это вообще затруднительно. Так что это, так и должно быть или все же баг? Заранее спасибо. |