Nasz pierwszy program to nieśmiertelne Witaj świecie ! Zawiera niezbędne minimum potrzebne do uruchomienia aplikacji Qt. Obrazek powyżej przedstawia działający program.
/**************************************************************** ** ** Qt tutorial 1 ** ****************************************************************/ #include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) { QApplication a( argc, argv ); QPushButton hello( "Hello world!", 0 ); hello.resize( 100, 30 ); a.setMainWidget( &hello ); hello.show(); return a.exec(); }
#include <qapplication.h>Ta linia wprowadza do programu definicję klasy QApplication. W każdej aplikacji, która używa Qt musi być dokładnie jeden objekt QApplication. QApplication zarządza zasobami aplikacji takimi jak domyślna czcionka i kursor.
#include <qpushbutton.h>Ta linia wprowadza do programu definicję klasy QPushButton. Dokumentacja referencyjna dla każdej klasy mówi, który plik musi zaostac dla niej dołączony.
QPushButton jest klasycznym przyciskiem GUI, który użytkownik może wcisnąć i puścić. Zarządza swoim własnym wyglądem, tak jak i inne QWidgety. Widget jest objektem, częścią interfejsu użytkownika, który może przetwarzać dane użytkownika oraz rysowac grafikę. Programista może zmienić zarówno wygląd i styl oraz dużo innych pomniejszych właściwości takich jak kolor jak i również oraz to czy widget będzie pokazywał zawartość. QPushButton może pokazywać zarówno tekst jak i QPixmap.
int main( int argc, char **argv ) {Funkcja main() to główna część każdego programu. Praktycznie zawsze przy uzyciu Qt, main() musi przeprowadzić tyko pewną inicjalizację, zanim odda kontrole bibliotece Qt, która mówi programowi o działaniach użytkownika poprzez wydarzenia (event).
argc to liczba zadanych programowi argumentów z linni komend, a argv jest zbiorem tych komend. Jest to własność C/C++. Nie jest specyficzna dla Qt jednakże Qt potrzebuje jej aby przetworzyć owe argumenty (patrz niżej).
QApplication a( argc, argv );a jest QApplication programu. Jest tworzona, a następnie przetwarza niektóre z argumentów z linni komend (takich jak -display pod X11). Zauważ, że wszystkie argumenty rozpoznane przez Qt są ususwane z argv (a argc jest odpowiednio pomniejszane). Zwróć się do QApplication::argv() po szczegóły.
Uwaga: Niezbędne jest aby objekt QApplication został utworzony zanim zostaną użyte jakiekolwiek inne funkcje systemu okien Qt.
QPushButton hello( "Hello world!", 0 );Tutaj, po QApplication, mamy pierwszy kod z systemu okien: Tworzony jest przycisk.
Przycisk ma wyświetlać tekst "Hello world!" i być oknem samym dla siebie (ponieważ konstruktor wskazuje na 0 okna rodzica, w którym powienien byc przycisk).
hello.resize( 100, 30 );Przycisk ma mieć 100 pikseli szerokości i 30 wyskości (plus systemowa ramka okna W tym przypadku nie będziemy się zajmować pozycją przycisku, przyjmijmy domyśne wartości.
a.setMainWidget( &hello );Przycisk został wybrany na główny widget dla aplikacji. Jeżeli użytkownik zamnkie główny widget nastąpi zakończenie programu.
Nie musisz mieć głównego widgetu, lecz większość aplikacji posiada go.
hello.show();Widget nigdy nie jest widzialny kiedy go tworzysz. Musisz wywołać show() aby go pokazać
return a.exec();To właśnie tu main() przekazuje kontrolę do Qt. exec() powróci gdy program zakończy działanie.
W exec(), Qt pobiera i przetwarza wydarzenia systemowe oraz te pochodzące od użytkownika i przekazuje je do odpowiednich widgetów.
}
Po uruchomieniu zobaczysz małe okienko wypełnione pojedycznym przyciskiem, a na nim słynne słowa: Hello, World !
Możesz teraz przejść do drugiego rozdzału.
[Następny tutorial] [Główna strona tutoriala]
Copyright (c) 2000 Troll Tech | Znaki towarowe |
Wersja Qt 2.1.0
|