Witam wszystkich kolegów i koleżanki. Jakiś czas temu zauważyłem, że na forum jest kolega który stworzył dwa poradniczki dotyczące podstaw programowania w QT. Pomyślałem sobie, że może dodam swoje trzy grosze i odrobinę „rozszerzę” ten temat o pewne sposoby z którymi dość rzadko można spotkać się programując aplikacje w tym frameworku a które są na tyle użyteczne, że warto o nich wspomnieć.
W tym wątku chciałbym umieszczać co jakiś czas pewne zagwostki z którymi się spotkałem ucząc się tej biblioteki i w miare jasne ich rozwiązanie. Ze względu na późną porę dziś przedstawię kilka takich aspektów.
W Kodach będe starał się przedstawiać pełne działające króciutkie aplikacje żeby każdy mógł wrzucić to do pliku, skompilować (tak jak pokazywał to kolega GwynBleidD).
1. Używanie stylów CSS w aplikacji.
Qt umożwliwia formatowanie Widgetów za pomocą stylów CSS w wersji CSS 2 i CSS 3, podobnie jak to ma miejsce w języku HTML jak również samego języka HTML co można zaobserwować na przykładzie:
język cpp-qt
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Mamy tu zastosowanie prostego formatowania HTML w tekście etykiety, co jednak gdy chcielibyśmy żeby każda z etykiet posiadała takie domyślne formatowanie? Czy dla każdej etykiety będziemy musieli użyć znacznika <b> </b> ? Otóż Qt pozwala na używanie stylu CSS który można domyślnie załadować z pliku bądź umieścić jako tekst:
język cpp-qt
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Takie rozwiązanie powoduje, że wszystkie etykietki które będą znajdowały się w aplikacji będą miały takie właśnie domyślne formatowanie, co gdy chcemy zastosować to formatowanie jedynie dla pewnej grupy? Czytając o CSS dowiadujemy się, że pozwala ono na ustawienie elementów w danym typie posiadających odpowiednie nazwy. Nazwy te podaje się po znaku #(hash). Jak takie nazwy nadać? W Qt jest to proste ponieważ każda klasa wywodzi się od bazowej klasy QObject więc każda z nich posiada metodę klasy QObject o nazwie setObjectName która służy właśnie do nadania takiej nazwy. Nazwa ta nie musi być unikalna dla każdego objektu ale spokojnie można ją powielać, poniżej przykład:
język cpp-qt
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
2. ładowanie stylow z plików tekstowych *.css.
Drugą rzeczą którą chciałbym tu przedstawić jest ładowanie stylow z zewnętrznych plików. Jakiś czas temu temat był poruszany na forum qt-project ponieważ większość osób jest przyzwyczajona do używania stylów CSS właśnie w języku HTML gdzie taka operacja wykonywana była najczęściej w sekcji <HEAD>. Wczytanie pliku CSS nie różni się tak naprawdę od wczytania pliku tekstowego (ponieważ arkusz stylu takim przecież jest
) czyli prosta metoda na załądowanie arkusza stylu do naszej aplikacji z pliku zewnetrznego może wyglądać np. tak:
język cpp-qt
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Należy pamiętać również o pliku arkusz.css aby umieścić go w tym samym katalogu gdzie zostanie zbudowany nasz projekt. Zawartość pliku arkusz.css:
język css
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Ok. Godzina dość późna a jutro do pracy, jak będą jakieś pytanka to zapraszam do rozmów. Kolejne rzadko urzywane a dość ciekawe rzeczy związane z Qt przedstawie jak znajde odrobine czasu.
Dla zainteresowanych polecam:
http://www.w3.org/Style/CSS/ -strona dotycząca CSS według W3C
C++ GUI Programming with Qt4 (second edition) -dobra książka o frameworku Qt w wersji 4 w zwyż.
CSS Witryny internetowe szyte na miare (Charles Wyke Smith) Fajna książka w kolorze zawierająca elementarną wiedzę o CSS.
<Dziękuje za podpowiedź aby używać syntax, rzadko przeglądałem do tej pory to forum nie mówiąc już o pisaniu więc poprostu nie zwróciłem uwagi na tą opcje. Ale przydatne ustrojstwo
>