![]() |
|
|
![]()
|
|
| dix75 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 462 Регистрация: 17.7.2007 Репутация: 1 Всего: 1 |
Добрый день!
Возникла ситуация при которой необходимо динамически менять GUI интерфейс для некоторого компонета. реализовал так: - при нажатие на кнопку на форму добавляется лайоут и соответсвующий интерфейс. - при нажатие на другую кнопку автоматически этот интерфейс должен уничтожаться и создаваться новый другой. Но как удалить этот интерфейс имея только указатель на виджет содержащий лайаут? -------------------- save your mind |
|||
|
||||
| Дшпыук |
|
|||
|
Не сплю ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 4.3.2010 Где: Омск Репутация: нет Всего: 1 |
Нужно именно уничтожать?.. Может можно просто скрыть?... Делай кнопку chekcable и по состоянию (включена\выключена) устанавливай видимость лайоута.
Почитай " Qt 4 GUI программирование на C++" ( Jasmin Blanchette & Mark Summerfield) там был такой пример... |
|||
|
||||
| dix75 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 462 Регистрация: 17.7.2007 Репутация: 1 Всего: 1 |
Нет именно удалить.
Скрывать не получается т.к. при добавлении нового лайаута программа ругается, и указывает на то что уже оди лайаут есть -------------------- save your mind |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 5 Всего: 39 |
Если лайот установлен как основной (top-level) для виджета, то Qwidget::layout().
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| dix75 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 462 Регистрация: 17.7.2007 Репутация: 1 Всего: 1 |
Пробовал я его удалять
Но он все равно не удаляется -------------------- save your mind |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 5 Всего: 39 |
Он то удаляется. А элементы в нем - нет. Их нужно скрыть (и удалить?). И точно ли это тот самый лайот?
Когда мне нужно на одном виджете иметь возможность показывать разное содержимое, я организую на нем один лайот, в который напихиваю все необходимые "страницы", которые потом и показываю методом "скрыть все виджеты из лайота, показать нужный". Для удобства организовал эту куралесицу в класс. Если нужно, могу дать исходник. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| dix75 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 462 Регистрация: 17.7.2007 Репутация: 1 Всего: 1 |
Вряд ли. Ведь я использую лайоут как родителя для всех виджетов размещенных на нем. Такой прием будет необходим, когда небольшое кол-во страниц. У меня их более 50 и пользователь может посмотреть только одну. И создавать все 50 страниц крайне неразумно и по времени и по ресурсам. Проще удалить и созать новую заново. Это сообщение отредактировал(а) dix75 - 6.6.2010, 08:55 -------------------- save your mind |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |