Login · Register
04.09.2010 18:56:52
Aktualnie online
· Gości online: 4

· Użytkowników online: 0

· Łącznie użytkowników: 52
· Najnowszy użytkownik: snake


Reklama
www.ddt.pl

www.maddevblog.eu

Statystyki reklamowe

Statystyki

Monitorowanie:



W sieci od:
24 czerwca 2009


Logowanie
Nazwa użytkownika

Hasło



Nie masz jeszcze konta?
Zarejestruj się

Nie możesz się zalogować?
Poproś o nowe hasło

Ostatnie artykuły

Ostatnio Widziani
· djszalas06:32:18
· kabanek20:24:49
· pipczaqu 2 dni
· DamianLii 2 dni
· janisz 2 dni
· radzioon 3 dni
· snake 3 dni
· damn 3 dni
· iluvathar 3 dni
· adam2006 6 dni

Część 1. Wstęp i pierwszy program.

Wstęp.

Jest to pierwszy artykuł z serii Qt Tutorial. Nie będę na początku omawiał, czym jest biblioteka Qt, jak działa i jak jest zbudowana, skąd ją pobrać i jak zainstalować - wszystkie te informacje znajdują się na DevQt.pl - pod tym adresem. Polecam rejestrację na DevQt.pl - dzięki temu zawsze będzie można uzyskać pomoc na forum i poczytać ciekawe newsy na temat biblioteki Qt.

Dodam jeszcze, że korzystam z Qt Creator'a - zintegrowanego środowiska programistycznego, dostarczanego razem z biblioteką Qt. Qt Creator to świetne narzędzie - intuicyjne i zintegrowane ze wszystkimi funkcjonalnościami, dostępnymi w Qt. Jednym słowem to najlepszy wybór, jeżeli piszemy aplikację wykorzystującą bibliotekę Qt. Choć można używać innych środowisk, to kolejne artykuły w kategorii Qt Tutorial zawsze będą też w jakimś stopniu związane z Qt Creator'em.

Pierwszy program.

Pierwszym programem będzie tradycyjne "Hello World" - wyświetlimy graficzne okno z przyciskiem. Biblioteka Qt ma ogromne możliwości, ale najczęstszym jej zadaniem jest tworzenie graficznego interfejsu użytkownika. Najpierw kod źródłowy, a później wyjaśnienia:

 

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
QApplication program(argc, argv);

QPushButton button("Hello World");
button.resize(130, 50);
button.show();

return program.exec();
}


W linii 1. i 2. włączamy pliki nagłówkowe, zawierające definicje klas QApplication i QPushButton. Pierwsza z nich zarządza każdą aplikacją, która korzysta z graficznych elementów biblioteki Qt. Do jej głównych zadań należy inicjalizacja aplikacji, przetwarzanie pętli zdarzeń w połączeniu z graficznymi elementami interfejsu oraz zakończenie programu. Natomiast klasa QPushButton reprezentuje przycisk.

W linii 6. tworzymy obiekt klasy QApplication. Parametry konstruktora tej klasy odpowiadają argumentom funkcji main().

W linii 8. tworzymy przycisk - jako parametr konstruktora podajemy napis "Hello World". Natomiast metoda resize() zmienia rozmiary przycisku, jako argumenty przyjmując szerokość i wysokość. Następnie w linii 10. wywołujemy metodę show(), która wyświetla przycisk na ekranie.

Na końcu, w linii 12., wywołujemy metodę exec() na utworzonym wcześniej obiekcie klasy QApplication - metoda ta przekazuje obsługę pętli zdarzeń do biblioteki Qt i wyświetlany jest interfejs aplikacji.

Efekt tego krótkiego kodu jest zdumiewający, ponieważ otrzymujemy funkcjonale okno aplikacji z przyciskiem, choć definiowaliśmy tak naprawdę jedynie przycisk. Co jest tego powodem ? Otóż klasą bazową wszystkich wizualnych elementów interfejsu jest klasa QWidget. Każdy element, który dziedziczy pośrednio lub bezpośrednio po klasie QWidget, dziedziczy też jej funkcjonalność (np. metody resize() oraz show()). Dlatego taki element może pracować zarówno jako samodzielne okno aplikacji, jak również być częścią podrzędną okna. Dodam jeszcze, że każdy obiekt klasy dziedziczącej po klasie QWidget posiada zdolność pełnej obsługi zdarzeń generowanych przez użytkownika.

Każdy chyba przyzna, że kod odpowiedzialny za wykonanie naszego pierwszego programu jest prosty i krótki, a tworzenie i manipulowanie elementami GUI nie sprawia żadnych trudności. W tych paru linijkach stworzyliśmy program z graficznym interfejsem użytkownika - okno z przyciskiem. To pokazuje, jakie możliwości ma biblioteka Qt i jak łatwo można za jej pomocą tworzyć nawet bardzo złożone aplikacje.

Biblioteka Qt jest zbiorem klas, napisanych w języku C++, i korzystającym w pełni z niewątpliwych zalet, jakie dają dziedziczenie i polimorfizm. Qt zawiera wiele ciekawych klas, z ogromnymi możliwościami, które będę starał się przedstawiać w kolejnych wpisach z cyklu "Qt Tutorial".

Komentarze
#1 | Karter dnia 15.07.2010 21:39:56
zalecam lepsze formatowanie artykulu bo jest nie wygodne do szybkiej analizy txt jak i kod.
Dodaj komentarz
Zaloguj się, aby móc dodać komentarz.