[Qt] Dopasowanie ramek w głównym oknie
Ostatnio zmodyfikowano 2015-01-05 19:31
Nowicjusz Temat założony przez niniejszego użytkownika |
[Qt] Dopasowanie ramek w głównym oknie » 2015-01-05 11:24:16 Nawet nie wiem jak temat nazwać, zaraz strace cierpliwość. Chciałbym osiągnąc efekt taki jak poniżej, a męczę się z tym już chyba poltorej godziny: zdjecieDodatkowo chcialbym, a wlasciwie to jest powod dla ktorego zalozylem tego posta; aby podczas zmieniania rozmiaru okna, te ramki w środku również się zmieniały, ale w taki sposób, że: - ramka po lewej tylko w dół i górę - ramka na górze tylko w lewo i prawo - ramka na środku we wszystkich kierunkach Efekt mozna sobie zilustrować po otworzeniu dowolnego dysku na komputerze i zmienianiu rozmiaru okna. |
|
sajmon |
» 2015-01-05 12:08:43 Jak robisz layout to takie sprężynki są zapomniałem jak się nazywają ;P |
|
turaz |
» 2015-01-05 13:34:39 Te 'sprężynki' (spacery) nic nie dadzą :) Główny widget dostaje HorizontalLayout(hl1), w którym umieszczam ten lewy element, jako drugi element dla hl1 wrzucam VerticalLayout (vl1). Elementy dla tego vl1 to te dwa elementy jeden na górze drugi na dole. Najważniejsza rzecz czyli LayoutStrech i hl1 otrzymuje layoutStretch (0,1) a vl1 otrzymuje layoutStretch na (0,1). Będzie działać. Btw mam nadzieje, że nie robisz tego z kodu tylko używasz designer'a? ;)
|
|
Nowicjusz Temat założony przez niniejszego użytkownika |
» 2015-01-05 18:25:14 Dzięki wszystko rozwiązuje LayoutStretch, ale do pełni szczęścia brakuje mi jeszcze tych zależności:
- ramka po lewej tylko w dół i górę - ramka na górze tylko w lewo i prawo - ramka na środku we wszystkich kierunkach
Bo tak jak jest teraz to wszystko zmienia rozmiar. |
|
turaz |
» 2015-01-05 18:48:07 jeżeli zrobisz w sposób przeze mnie opisany to powinno działać. Uwierz ;) zrobiłem to zanim napisałem tamten post :) Oczywiście to wszystko ustawiłem w Designer'ze. Możliwe, że zapominasz od sizePolicy() ustawionym na QSizePolicy::Expanding.
Oczywiście główny HorizontalLayout (opisany w poprzednim poście jako hl1) ustawiony jest w tym głównym okienku. a vl1 jest elementem tego hl1. Jeśli Ci to nie działa prawidłowo pokaż kod tej klasy (pliki cpp, h oraz ui).
|
|
Nowicjusz Temat założony przez niniejszego użytkownika |
» 2015-01-05 19:31:53 o QSizePolicy nie pisales :D Kurcze a myslalem ze to rozwiaże problem ale mimo, iz zmieniam parametry nic się nie dzieje czasami nawet znika ramka.
P.S Dobra już wszystko działa trzeba było domyślnie jeszcze minimum size ustawić :) |
|
« 1 » |