Russian Qt Forum
Ноябрь 22, 2024, 19:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: разбивка страниц QStackedWidget на отдельные h cpp файлы  (Прочитано 3741 раз)
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
то всё работает но прописывать руками каждый элемент уж очень не удобно.
Записан
UVV
Гость
« Ответ #1 : Ноябрь 25, 2010, 10:42 »

Ну разбить класс на несколько cpp тебе никто не мешает, но заголовок должен быть один.
Записан
Jkc
Гость
« Ответ #2 : Ноябрь 26, 2010, 12:03 »

Всё оказалось значительно проще,
просто добавляешь класс с формой виджет скажем stack_page1
при том генерируется форма   stack_page1.ui куда кидаем всё что нам нужно, кнопки и т.д.
, в  stack_page1.cpp и  stack_page1.h всё описываем.
Далее  размещаем наш stack_page1 руками  на MyStackedWidget. 
Быстро, просто и всё разведено по страницам.
 
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #3 : Декабрь 07, 2010, 01:35 »

Цитировать
Далее  размещаем наш stack_page1 руками  на MyStackedWidget.

Руками вы имеете ввиду в коде через метод QStackedWidget.addWidget(...) ? Значит все правильно делаете - это особенно удобно если в QStackedWidget надо разместить виджеты о которых форма на которой он расположен вообще ничего не знает... Например окно настроек переменного числа плагинов, для которых есть стандартный класс интерфейса.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 23.