Название: разбивка страниц QStackedWidget на отдельные h cpp файлы Отправлено: Jkc от Ноябрь 24, 2010, 13:00 Есть StackedWidget на страницах которого много кнопок и т.п.
Можно ли использовать дизайнер что бы расставить элементы по страницам, и что бы каждая страница была описана в отдельных cpp и h файлах каждой страницы StackedWidget а. Дабы обработку сигналов-слотов не писать в один cpp всего StackedWidget . Пока я пытался делать так. 1. Создаю класс с базовым от Qwidget 'page1' 2. в редакторе формы на уже созданной странице выбираю Promoted Widgets, добавляю класс от Qwidget называю page1 и устанавливаю Promoted на page1. Всё компилится в файле ui_ mystackwid.h появляется следующая запись page = new page1(); page->setObjectName(QString::fromUtf8("page")); pushButton_2 = new QPushButton(page); pushButton_2->setObjectName(QString::fromUtf8("pushButton_2")); pushButton_2->setGeometry(QRect(280, 260, 93, 27)); MyStackWid->addWidget(page); но вот при попытке задать сигна-слоты в файлах page1.p cpp не какого результата. Если page1 страницу из дизайнера и создать её раками в mystackwid.h mystackwid.cpp то всё работает но прописывать руками каждый элемент уж очень не удобно. Название: Re: разбивка страниц QStackedWidget на отдельные h cpp файлы Отправлено: UVV от Ноябрь 25, 2010, 10:42 Ну разбить класс на несколько cpp тебе никто не мешает, но заголовок должен быть один.
Название: Re: разбивка страниц QStackedWidget на отдельные h cpp файлы Отправлено: Jkc от Ноябрь 26, 2010, 12:03 Всё оказалось значительно проще,
просто добавляешь класс с формой виджет скажем stack_page1 при том генерируется форма stack_page1.ui куда кидаем всё что нам нужно, кнопки и т.д. , в stack_page1.cpp и stack_page1.h всё описываем. Далее размещаем наш stack_page1 руками на MyStackedWidget. Быстро, просто и всё разведено по страницам. Название: Re: разбивка страниц QStackedWidget на отдельные h cpp файлы Отправлено: break от Декабрь 07, 2010, 01:35 Цитировать Далее размещаем наш stack_page1 руками на MyStackedWidget. Руками вы имеете ввиду в коде через метод QStackedWidget.addWidget(...) ? Значит все правильно делаете - это особенно удобно если в QStackedWidget надо разместить виджеты о которых форма на которой он расположен вообще ничего не знает... Например окно настроек переменного числа плагинов, для которых есть стандартный класс интерфейса. |