2012-02-16 15 views
8

Chcę dynamicznie ukryć/pokazać widget tak:Jak dynamicznie ukrywać/wyświetlać widżety?

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


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


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

Tak? Co próbujesz? – Mat

+0

jak? Mam dwa widżety w QHBoxLayout, ale nie jestem pewien, jak to zrobić, aby wycofać widżety. –

+1

Czy możesz sprawdzić dokumentację QWidget, jeśli ma jakąkolwiek metodę 'hide' lub coś podobnego? Lub dokumenty QLayout, aby zobaczyć, czy można "usunąć" rzeczy z nich? – Mat

Odpowiedz

29

Wystarczy dodać wszystkie swoje widgety w układzie i używać QWidget::hide(), QWidget::show() gdy są potrzebne.

Dla bardziej złożonych sytuacji można użyć The State Machine Framework.

+6

+1 dla automatu stanów. Nie wiedziałem o tym. – UmNyobe

+3

Edytowałem link, aby wskazać stronę 'Qt 5.0'. Pierwotny link został zerwany. –

Powiązane problemy