2012-02-16 2 views
8

Я хочу, чтобы динамически скрыть/показать виджет как так:Как динамически скрывать/показывать виджеты?

Default: 
|-------| 
|  | 
| text | 
| editor| 
|-------| 


With webkit preview: 
|-------|-------| 
|  |  | 
| text | web | 
| editor| widget| 
|-------|-------| 


With okular preview: 
|-------|-------| 
|  |  | 
| text | okular| 
| editor| widget| 
|-------|-------| 
+0

Итак? Что вы пробовали? – Mat

+0

как? У меня есть два виджета в QHBoxLayout, но я не уверен, как делать втягивающие виджеты. –

+1

Можете ли вы проверить документы QWidget, если у него есть какой-то метод 'hide' или что-то еще? Или QLayout docs, чтобы узнать, можете ли вы удалить их из них? – Mat

ответ

29

Просто добавьте все виджеты в макет и использовать QWidget::hide(), QWidget::show() при необходимости.

Для более сложных ситуаций вы можете использовать The State Machine Framework.

+6

+1 для конечного автомата. Не знал этого. – UmNyobe

+3

Я отредактировал эту ссылку, чтобы указать на страницу 'Qt 5.0'. Исходная ссылка была сломана. –

Смежные вопросы