c++. wykorzystaj potęgę aplikacji graficznych full version.pdf

(18680 KB) Pobierz
887627351.001.png
4
C++. Wykorzystaj pot�g� aplikacji graficznych
Obs�uga zdarze� myszy ..................................................................................................56
Obs�uga zdarze� klawiatury ...........................................................................................58
Test .................................................................................................................................61
Rozdzia� 5. Zastosowania menu ....................................................................... 63
Podstawy menu ...............................................................................................................63
Obs�uga menu za pomoc� tabeli zdarze� ........................................................................66
Obs�uga menu za pomoc� metody Connect() .................................................................68
Tworzenie menu podczas dzia�ania aplikacji ..................................................................70
Menu kontekstowe ..........................................................................................................73
Skróty klawiaturowe w opcjach menu ............................................................................75
Paski narz�dzi .................................................................................................................77
Pasek statusu ...................................................................................................................81
Test .................................................................................................................................85
Rozdzia� 6. Okna dialogowe ............................................................................. 87
Okna komunikatów ........................................................................................................87
Okno z mo�liwo�ci� wprowadzania danych ...................................................................89
Zwyk�e okno do wprowadzania tekstu .....................................................................89
Okno has�a ................................................................................................................90
Okna zapisu i otwarcia pliku ..........................................................................................92
Okno wyboru czcionki ....................................................................................................94
Paleta kolorów ................................................................................................................96
Test .................................................................................................................................98
Rozdzia� 7. Podstawy aplikacji sieciowych ...................................................... 101
Protokó� FTP ................................................................................................................101
Logowanie do serwera i wy�wietlanie zawarto�ci katalogu ...................................101
Operacje na folderach i plikach ..............................................................................105
Pobieranie plików z serwera ...................................................................................107
Wysy�anie plików z dysku lokalnego .....................................................................109
Protokó� HTTP .............................................................................................................111
Pobieranie stron Web .............................................................................................111
Wy�wietlanie stron w postaci graficznej — komponent wxHtmlWindow .............113
Prezentacja wyników dzia�ania aplikacji w postaci HTML ....................................115
Komórki wxHtmlCell .............................................................................................118
Test ...............................................................................................................................122
Rozdzia� 8. Grafika ......................................................................................... 125
Mapy bitowe wxBitmap ...............................................................................................125
Kontekst urz�dzenia — klasa wxDC ............................................................................126
Rysowanie w oknie — kontekst wxClientDC ..............................................................128
Obs�uga zdarzenia Paint — kontekst wxPaintDC .........................................................132
Rysowanie w pami�ci — wxMemoryDC .....................................................................134
Kontekst ekranu — wxScreenDC .................................................................................136
Pióro wxPen .................................................................................................................138
P�dzel wxBrush ............................................................................................................141
Podstawy obs�ugi biblioteki OpenGL w wxWidgets ....................................................143
Rysowanie obiektów trójwymiarowych .................................................................147
Animacje ................................................................................................................149
Test ...............................................................................................................................151
Spis tre�ci
5
Rozdzia� 9. Aplikacje baz danych .................................................................... 153
Bazy danych a wxWidgets ............................................................................................153
Instalacja PostgreSQL ..................................................................................................153
Inicjalizacja bazy ..........................................................................................................155
Organizacja i typy danych w bazach PostgreSQL ........................................................156
J�zyk SQL ....................................................................................................................158
Po��czenie aplikacji wxWidgets z baz� danych ............................................................158
Dodawanie tabel do bazy ..............................................................................................161
Zapis danych do tabeli ..................................................................................................165
Wyszukiwanie i odczyt danych z tabeli ........................................................................167
Zmiana warto�ci w rekordach .......................................................................................171
Test ...............................................................................................................................172
Rozdzia� 10. Drukowanie w wxWidgets ............................................................. 175
Drukowanie na ró�nych platformach ............................................................................175
Drukowanie tekstu ........................................................................................................175
Drukowanie tekstu z formatowaniem .....................................................................178
Podgl�d wydruku tekstu .........................................................................................180
Drukowanie grafiki .......................................................................................................181
Obiekt wydruku wxPrintout ...................................................................................181
Urz�dzenie drukarki — klasa wxPrinter .................................................................183
Okno podgl�du drukowania grafiki ........................................................................185
Skalowanie wydruku graficznego ..........................................................................187
Test ...............................................................................................................................191
Rozdzia� 11. Elementy aplikacji wielow�tkowych .............................................. 195
Wielow�tkowo�� ..........................................................................................................195
Sekcje krytyczne ....................................................................................................196
Wzajemne wykluczenia ..........................................................................................196
Semafory ................................................................................................................196
Klasa wxThread ............................................................................................................196
Sekcja krytyczna — wxCriticalSection ........................................................................198
Wykluczenie wxMutex .................................................................................................199
Semafor wxSemaphore .................................................................................................199
Prosta aplikacja z kilkoma w�tkami .............................................................................200
Przekazywanie danych z w�tku poprzez zdarzenia ......................................................204
Ograniczenie ilo�ci w�tków za pomoc� semafora ........................................................205
Test ...............................................................................................................................207
Rozdzia� 12. Struktura aplikacji Qt ................................................................... 209
Korzystamy z szablonu .................................................................................................209
Pierwszy program krok po kroku ..................................................................................211
Wy�wietlamy polskie znaki ..........................................................................................212
Podstawy hierarchii elementów interfejsu u�ytkownika ...............................................214
Tworzenie w�asnej klasy okna ......................................................................................216
Qt Designer ...................................................................................................................218
Integracja Qt Designer i Dev-C++ ................................................................................221
Wykorzystanie formularzy w programach ....................................................................222
Test ...............................................................................................................................228
6
C++. Wykorzystaj pot�g� aplikacji graficznych
Rozdzia� 13. Podstawowe komponenty aplikacji ............................................... 229
Klasa QMainWindow ...................................................................................................229
Rozpoczynamy budow� edytora tekstu ........................................................................229
Rodzaje okien ...............................................................................................................232
Ikona aplikacji i zasoby ................................................................................................234
Menu .............................................................................................................................236
Klawisze skrótu ......................................................................................................238
Komunikaty na pasku statusu .................................................................................239
Pasek statusu .................................................................................................................241
Pasek narz�dzi ..............................................................................................................242
Wygl�d paska narz�dzi ...........................................................................................242
Dodajemy w�asne gniazda ............................................................................................244
Edytor tekstu — formularz w Qt Designer ...................................................................247
Klasa QString ...............................................................................................................250
Test ...............................................................................................................................253
Rozdzia� 14. Wi�cej o zdarzeniach .................................................................... 255
Sygna�y i gniazda .........................................................................................................255
Metaobiekty ............................................................................................................255
Definiowanie gniazd ..............................................................................................256
Definiowanie oraz emitowanie sygna�ów ...............................................................257
Kompilator MOC ...................................................................................................257
Definiowanie po��cze� ...........................................................................................258
Usuwanie po��cze� .................................................................................................260
Dynamiczna obs�uga po��cze� ...............................................................................260
Program przyk�adowy ............................................................................................261
Obs�uga zdarze� ...........................................................................................................262
Rodzaje zdarze� .....................................................................................................263
Informacje przekazywane przy zdarzeniach ...........................................................263
Selektywna obs�uga zdarze� ...................................................................................267
Test ...............................................................................................................................269
Rozdzia� 15. Zastosowania menu ..................................................................... 271
Menu wielopoziomowe ................................................................................................271
Zmiana parametrów czcionki w menu ..........................................................................273
W�a�ciwo�ci elementów menu, sygna�y i gniazda ........................................................276
Grupowanie elementów menu ......................................................................................279
Menu podr�czne programu ...........................................................................................282
Dynamiczne tworzenie elementów menu .....................................................................284
Test ...............................................................................................................................285
Rozdzia� 16. Okna dialogowe ........................................................................... 287
Okna komunikatów ......................................................................................................287
Okna pobierania danych ...............................................................................................296
Okna narz�dziowe ........................................................................................................299
Okno wyboru koloru ..............................................................................................300
Okno wyboru czcionki ...........................................................................................302
Obs�uga plików i folderów .....................................................................................303
Test ...............................................................................................................................306
Rozdzia� 17. Podstawy aplikacji sieciowych ...................................................... 307
Obs�uga protokó�u FTP ................................................................................................307
Operacje na serwerze FTP ......................................................................................307
Sygna�y klasy QFtp ................................................................................................309
Spis tre�ci
7
Adresy zasobów internetowych ..............................................................................309
Program przyk�adowy ............................................................................................311
Obs�uga protokó�u HTTP .............................................................................................319
Operacje na serwerze HTTP ...................................................................................319
Sygna�y klasy QHttp ..............................................................................................321
Program przyk�adowy ............................................................................................321
Test ...............................................................................................................................326
Rozdzia� 18. Grafika ......................................................................................... 329
System graficzny w bibliotece Qt .................................................................................329
Uk�ad wspó�rz�dnych i rasteryzacja prymitywów ..................................................330
Podstawowe zasady rysowania ...............................................................................332
Obs�uga plików graficznych ...................................................................................332
Parametry pióra ......................................................................................................339
Parametry p�dzla ....................................................................................................346
Prymitywy graficzne ..............................................................................................348
Rysowanie napisów ................................................................................................350
Jako�� renderingu ...................................................................................................353
OpenGL ........................................................................................................................354
SVG ..............................................................................................................................359
Test ...............................................................................................................................364
Rozdzia� 19. Wykorzystanie komponentów baz danych ...................................... 365
Bazy danych w bibliotece Qt ........................................................................................365
Obs�ugiwane bazy ..................................................................................................365
Instalacja i konfiguracja bazy danych Firebird 2.0 .......................................................366
Instalacja ................................................................................................................366
Kompilacja sterownika ...........................................................................................367
Utworzenie bazy .....................................................................................................368
Po��czenie z baz� danych .............................................................................................369
Obs�uga b��dów ......................................................................................................370
Tworzenie tabel ............................................................................................................372
Podstawowe elementy j�zyka SQL ........................................................................372
Wybrane typy danych .............................................................................................372
Obs�uga zapyta� .....................................................................................................372
Dodawanie danych do tabel ..........................................................................................375
Wyszukiwanie danych ..................................................................................................376
Modyfikacja i usuwanie danych ...................................................................................380
Test ...............................................................................................................................389
Rozdzia� 20. Drukowanie pod Qt ....................................................................... 391
Urz�dzenie graficzne do druku .....................................................................................391
Klasa QPrinter ........................................................................................................391
Uk�ad wspó�rz�dnych .............................................................................................392
Podzia� na strony ....................................................................................................393
Okna dialogowe obs�uguj�ce drukowanie ....................................................................393
Drukowanie tekstu ........................................................................................................394
Drukowanie rysunków ..................................................................................................395
Drukowanie do plików PDF .........................................................................................397
Podgl�d wydruku ..........................................................................................................399
Test ...............................................................................................................................405
Zgłoś jeśli naruszono regulamin