C_Wykorzystaj_potege_aplikacji_graficznych_cppwyk.pdf
(
640 KB
)
Pobierz
C++. Wykorzystaj potêgê
aplikacji graficznych
Autor: Janusz Ganczarski,
Mariusz Owczarek
ISBN: 978-83-246-1473-8
Format: 158x235, stron: 448
Napisz wieloplatformowe programy w C++
•
Jak korzystaæ z bibliotek wxWidgets oraz Qt?
•
W jaki sposób implementowaæ obs³ugê zdarzeñ w aplikacjach?
•
Jak budowaæ aplikacje sieciowe i bazodanowe?
Okres dominacji jednego systemu operacyjnego i przeznaczonych dla niego rozwi¹zañ
powoli odchodzi do historii. Fenomen popularnoœci ró¿nych dystrybucji Linuksa
i coraz mocniejsza pozycja komputerów Mac sprawiaj¹, ¿e wiele firm produkuj¹cych
oprogramowanie decyduje siê na tworzenie rozwi¹zañ wieloplatformowych.
W przypadku ogromnych korporacji stworzenie zespo³ów programistycznych
pracuj¹cych równolegle nad kilkoma wersjami jednej aplikacji dla ró¿nych systemów
operacyjnych nie stanowi problemu, ale w mniejszych firmach jest to niemo¿liwe.
Tu z pomoc¹ przychodz¹ biblioteki pozwalaj¹ce na tworzenie kodu Ÿród³owego
prawid³owo kompiluj¹cego siê na ka¿dej platformie, na której je zainstalowano.
Ksi¹¿ka „C++. Wykorzystaj potêgê aplikacji graficznych” opisuje tworzenie
oprogramowania z wykorzystaniem dwóch takich w³aœnie bibliotek – wxWidgets
oraz Qt. Czytaj¹c j¹, dowiesz siê, jak wykorzystaæ jêzyk C++ i œrodowisko Dev-C++
do pisania programów, z których korzystaæ bêd¹ mogli u¿ytkownicy systemu Windows,
Linuksa i Mac OS. Nauczysz siê stosowaæ kontrolki i komponenty, budowaæ menu
i interfejsy u¿ytkownika, obs³ugiwaæ zdarzenia i implementowaæ operacje graficzne.
Przeczytasz tak¿e o aplikacjach bazodanowych i sieciowych. Ka¿de z zagadnieñ
omówiono zarówno w kontekœcie biblioteki wxWidgets, jak i biblioteki Qt, dziêki czemu
poznasz dwie metody rozwi¹zywania tych samych zadañ programistycznych – by
wybraæ sobie tê, która bardziej Ci odpowiada.
•
Instalacja œrodowiska programistycznego i bibliotek
•
Struktura aplikacji i podstawowe komponenty
•
Stosowanie komponentów
•
Obs³uga zdarzeñ myszy i klawiatury
•
Budowanie menu aplikacji
•
Komunikacja sieciowa
•
Operacje graficzne
•
Po³¹czenia z bazami danych
•
Drukowanie z poziomu aplikacji
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Dziêki tej ksi¹¿ce stworzysz aplikacje,
które doceni¹ u¿ytkownicy wszystkich systemów operacyjnych.
Spis tre�½ci
Rozdzia�½ 1. Opis i instalacja bibliotek ................................................................. 9
Wst�½p ................................................................................................................................ 9
Biblioteka wxWidgets ...................................................................................................... 9
Instalacja �½rodowiska wxDev-C++ ........................................................................... 10
Elementy wxDev-C++ .............................................................................................. 10
Tworzenie projektu aplikacji w wxDev-C++ ........................................................... 11
Biblioteka Qt .................................................................................................................. 12
Instalacja Dev-C++ .................................................................................................. 12
Instalacja bibliotek Qt .............................................................................................. 12
Konfiguracja Dev-C++ do wspó�½pracy z Qt ............................................................. 13
Tworzenie szablonu projektu aplikacji Qt ................................................................ 15
Rozdzia�½ 2. Struktura aplikacji wxWidgets ........................................................ 19
Cz�½�½ci sk�½adowe aplikacji ............................................................................................... 19
Zgodno�½�½ ze standardem Unicode .................................................................................. 22
Tworzenie kontrolek ....................................................................................................... 23
Zdarzenia ........................................................................................................................ 24
Wizualne tworzenie aplikacji w �½rodowisku wxDev-C++ .............................................. 26
Struktura projektu wykorzystywana podczas budowy aplikacji za pomoc�½ IDE ..... 27
Nazwy parametrów u�½yte w ksi�½�½ce ............................................................................... 28
Test ................................................................................................................................. 28
Rozdzia�½ 3. Podstawowe komponenty aplikacji ................................................. 31
Okno wxFrame ............................................................................................................... 31
Style okna ................................................................................................................. 32
Ikona w oknie aplikacji ............................................................................................ 33
Czcionki w aplikacji ................................................................................................. 34
Panele wxPanel ............................................................................................................... 35
Przyciski wxButton ........................................................................................................ 36
Etykieta wxStaticText ..................................................................................................... 38
Pola wyboru i przyciski opcji ......................................................................................... 40
Komponent wprowadzania i edycji tekstu wxTextCtrl ................................................... 44
Test ................................................................................................................................. 48
Rozdzia�½ 4. Wi�½cej o zdarzeniach ...................................................................... 49
Rodzaje zdarze�½ .............................................................................................................. 49
Dynamiczna obs�½uga zdarze�½ ......................................................................................... 49
Rozpoznawanie obiektu generuj�½cego zdarzenie w metodzie obs�½ugi ............................ 53
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
Plik z chomika:
Ksiazki_20
Inne pliki z tego folderu:
Algorytmy_struktury_danych_i_techniki_programowania_Wydanie_VI_algor6.pdf
(3460 KB)
C_50_efektywnych_sposobow_na_udoskonalenie_Twoich_programow_cp50sp.pdf
(1825 KB)
Czysty_kod_w_C_17_Oprogramowanie_latwe_w_utrzymaniu_czkc17.pdf
(1741 KB)
Biblioteki_Qt_Zaawansowane_programowanie_przy_uzyciu_C_bibqtc.pdf
(650 KB)
C_17_STL_Receptury_cpp17r.pdf
(955 KB)
Inne foldery tego chomika:
Administracja
Afryka
After Effects
Agile - Programowanie
AJAX
Zgłoś jeśli
naruszono regulamin