Szczegóły ebooka

C++. Wykorzystaj potęgę aplikacji graficznych

C++. Wykorzystaj potęgę aplikacji graficznych

Janusz Ganczarski, Mariusz Owczarek

Ebook

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

Dzięki tej książce stworzysz aplikacje, które docenią użytkownicy wszystkich systemów operacyjnych.

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)
  • 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)

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)

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)
    • 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)

Rozdział 21. Programowanie wielowątkowe (407)

  • Podstawowe zagadnienia programowania wielowątkowego (407)
  • Wątki w bibliotece Qt (408)
    • Uruchamianie i kontrola wątków (409)
    • Przerwanie i zatrzymanie wątku (410)
    • Sygnały klasy QThread (410)
    • Funkcja oczekująca (411)
  • Synchronizacja wątków (411)
    • Muteksy (413)
    • Semafory (414)
  • Wątki w aplikacji GUI (415)
  • Test (422)

Dodatek A Odpowiedzi do testów (423)

Skorowidz (425)

  • Tytuł: C++. Wykorzystaj potęgę aplikacji graficznych
  • Autor: Janusz Ganczarski, Mariusz Owczarek
  • ISBN: 978-83-246-4502-2, 9788324645022
  • Data wydania: 2012-02-01
  • Format: Ebook
  • Identyfikator pozycji: cppwyk
  • Wydawca: Helion