Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 24 maja 2025, o 21:16


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
    Autor Wiadomość
    PostNapisane: 31 sty 2014, o 00:40 
    Offline
    Nowy

    Dołączył(a): 27 lis 2013
    Posty: 23
    Lokalizacja: Southampton
    Pomógł: 2

    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:

    Składnia: [ Pobierz ] [ Ukryj ]
    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:

    Składnia: [ Pobierz ] [ Ukryj ]
    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:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    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:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    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:
    Składnia: [ Pobierz ] [ Ukryj ]
    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 :) >



    Ostatnio edytowano 1 lut 2014, o 00:56 przez tanwel, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 sty 2014, o 18:32 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 mar 2013
    Posty: 739
    Lokalizacja: Poznań
    Pomógł: 84

    Witam
    fajny poradnik ,ja dopiero uczę się QT ale kiedyś pewnie się przyda
    Mam tylko taką małą sugestie ,czy kolega mógłby wstawiać kody w znaczniku
    syntax = C++(QT) będzie trochę atrakcyjniej wyglądało i naprawdę dużo lepij
    analizowało kod

    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO