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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: изменение набора и расположения виджетов на экране  (Прочитано 2771 раз)
T0Nikk
Гость
« : Апрель 07, 2010, 13:29 »

Привет!
У меня такая проблема: есть два GroupBox. Мне необходимо в определенные моменты работы программы устанавливать один из них в качестве центрального виджета окна ( setCentralWidget() ). Один такой переход удается, но обратно - никак. Пробовал поочередно скрывать один из виджетов ( hide() <=> show() ), не работает  В замешательстве
Подскажите, как можно организовать эти переходы
Записан
BRE
Гость
« Ответ #1 : Апрель 07, 2010, 13:46 »

Посмотри на QStackedWidget.
Каждый GroupBox на своей странице, а дальше переключай их как захочешь.
Записан
T0Nikk
Гость
« Ответ #2 : Апрель 07, 2010, 21:31 »

Не выходит  В замешательстве
BRE, на практике у Вас это получалось таким способом?
Картина примерно такая:

    this->createGroupBoxes(); // создает два QGroupBox

switch( .... )
case ....:
    this->drawInitWindow(); // this->stackedWidget->setCurrentIndex( 0 );setCentralWidget( this->stackedWidget )
    break;
case ....:
    this->changeWindow(); // // this->stackedWidget->setCurrentIndex( 1 );setCentralWidget( this->stackedWidget )
    break;
Записан
BRE
Гость
« Ответ #3 : Апрель 07, 2010, 21:58 »

В assistant все написано + есть пример.
Код
C++ (Qt)
MainWindow::MainWindow()
{
mainWidget = new QStackedWidget( this );
 
GroupWidget1 *group1 = new GroupWidget1( this ); // Первый виджет с необходимыми элементами (или просто QWidget + добавляем на него элементы)
mainWidget->addWidget( group1 );
 
GroupWidget2 *group2 = new GroupWidget2( this ); // Второй виджет с необходимыми элементами (или просто QWidget + добавляем на него элементы)
mainWidget->addWidget( group2 );
 
setCentralWidget( mainWidget );
}
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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