Bluuum 2.0 tworzenie skórek – part 5

Budowa aplikacji

Teraz pora przyjrzeć się jak wygląda budowa aplikacji. Zostały użyte jaskrawe kolory aby pokazać jakich rozmiarów są poszczególne widżety oraz w którym miejscu dokładnie się znajdują. Podstawowe elementy składające się na odtwarzacz :

  • Player – główny widżet maszej aplikacji. jego granice wyznacza czerwone obramowanie. ( QMainWindow#Player )
  • playerFrame – widżet na którym znajduje się „góra aplikacji”, czyli przyciski,suwaki, elementy wyświetlające aktualnie grany utwór, czas, belka tytułowa itp. Jego granice wyznaczone są poprzez różowe obramowanie ( QFrame#playerFrame )
  • mainTitleBar – belka tytułowa aplikacji. Granice prostokąt o żółtym tle. Zawiera przyciski takie jak zamknij, zminimalizuj, menu, opcje ( QFrame#mainTitleBar )
  • plMainWidget – widżet zawierający liste odtwarzania oraz elementy z nią związane. Granice wyznaczone przez obramowanie ciemno pomaranczowe ( QWidget#plMainWidget )
  • plTitleBar – belka tytułowa listy odtwarzania. Służy do przenoszenia listy gdy jest osobnym oknem. Granice pomarańczowe prostokąt ( QFrame#plTitleBar )

W nawiasach znajdują się pełne nazwy elementów wraz z ich typem wykorzystywane w pliku *.css do ustawiania ich właściwości. Nazwy używane w pliku *.cfg to tylko druga cześć nazw w nawiasach (po znaku # ).

Widżet QMainWindow#Player domyślnie posiada ustawiony layout typu QVBoxLayout dzięki czemu nasza lista odtwarzania może zmieniać rozmiar nawet gdy nie jest osobnym oknem. Tak samo widżety jak playerFrame oraz plMainWidget są domyślnie dodane do widżetu  Player, więc nie musimy ustawiać im rodziców. W środku tych widżetów budujemy resztę naszej aplikacji. Teraz jeszcze przyjrzymy się budowie beki tytułowej. Domyślnie posiada ona layout typu QHBoxLayout do którego dodane są 3 elementy typu QFrame :

  • mainTitleBarLeftFrame – lewy prostokąt czerwonego koloru. ( QFrame#mainTitleBarleftFrame )
  • mainTitleBarMiddleFrame – środkowy prostokąt zielonego koloru ( QFrame#mainTitleBarMiddleFrame )
  • mainTitleBarRightFrame – prawy prostokąt czerwonego koloru ( QFrame#mainTitleBarRightFrame )

Taki layout pozwala nam na dodawanie przycisków zarówno z lewej strony jak i z prawej strony belki tytułowej. Przy zmianie jej rozmiaru przyciski nadal pozostaną po lewej i prawej stronie. Jeśli chcemu aby przyciski znajdowały się po lewej stronie jako ich rodzica ustawiamy ”mainTitleBarleftFrame” a jeśli po prawej to analogicznie „mainTitleBarRightFrame”. W następnej części zajmiemy omówimy dokładniej „górę aplikacji” czyli elementy znajdujące się w widżecie o nazwie „playerFrame”.