Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt] Dopasowanie ramek w głównym oknie

Ostatnio zmodyfikowano 2015-01-05 19:31
Autor Wiadomość
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:


zdjecie


Dodatkowo 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.
P-124193
sajmon
» 2015-01-05 12:08:43
Jak robisz layout to takie sprężynki są zapomniałem jak się nazywają ;P
P-124195
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?  ;)
P-124198
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.
P-124235
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).

P-124240
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ć :)
P-124246
« 1 »
  Strona 1 z 1