Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: n4ela от Июнь 29, 2009, 14:20



Название: 2-а QWidget вывод в одном окне.
Отправлено: n4ela от Июнь 29, 2009, 14:20
Есть два класса наследованных от QWidget(Login и Reg)
В классе логин при нажатие на кнопку(регистрации) должен появлять виджет Reg.
Хочу сделать так что бы виджет регистрации появлялся заместо виджета с логином.
Сначала хотел сделать в одном классе (виджете) несколько кнопок\форм и в зависимости от сетуации делать их видимыми или скрывать, но как то не красиво получается.
Пока у меня получилось, что при нажатие на кнопку регистрации появляется просто второе окно.
Код
C++ (Qt)
   reg *newReg = new reg;
   newReg->show();
 
Так же могу просто закрыть окно с логином.
Но это мне кажется то же не совсем правильно.
Как это грамотно делается?


Название: Re: 2-а QWidget вывод в одном окне.
Отправлено: ecspertiza от Июнь 29, 2009, 14:33
Низнаю конечно правильно ли я делаю но я обычно создаю переменную int в которой храню id формы которая в данный моммент на экране и например при необходимости показать другую форму, проверяю какой идентификатор делаю deleteLater() тому виджету который на экране, и нужный создаю ну и сталобыть меняю идентификатор и всё.


Название: Re: 2-а QWidget вывод в одном окне.
Отправлено: SABROG от Июнь 29, 2009, 15:03
QStackedWidget должен подойти, по идее. Стрелочки выбора страницы показываются только в дизайнере.


Название: Re: 2-а QWidget вывод в одном окне.
Отправлено: n4ela от Июнь 29, 2009, 15:29
Низнаю конечно правильно ли я делаю но я обычно создаю переменную int в которой храню id формы которая в данный моммент на экране и например при необходимости показать другую форму, проверяю какой идентификатор делаю deleteLater() тому виджету который на экране, и нужный создаю ну и сталобыть меняю идентификатор и всё.
А можно небольшой пример. Пока не понял как их менять.


Название: Re: 2-а QWidget вывод в одном окне.
Отправлено: ecspertiza от Июнь 29, 2009, 15:56
Вот написал поскорому так что если что небей :)

в аттаче, но попробуй ещё способ о котором SABROG говарил, возможно это проще будет :)


Название: Re: 2-а QWidget вывод в одном окне.
Отправлено: n4ela от Июнь 29, 2009, 21:24
Все понятно. Спасибо большое.