E-book details

Biblioteki Qt. Zaawansowane programowanie przy użyciu C++

Biblioteki Qt. Zaawansowane programowanie przy użyciu C++

Mark Summerfield

Ebook

Odkryj tajemnice biblioteki Qt!

Qt to popularny zestaw bibliotek pozwalający na tworzenie atrakcyjnego interfejsu użytkownika dla różnych platform, w tym dla systemów: Windows, Mac OS X i Linux. Pierwsza wersja ukazała się w 1992 roku i od tego czasu jest intensywnie rozwijana. Za pomocą najnowszej wersji Qt można tworzyć aplikacje internetowe i mobilne. Zakres jej możliwości jest tak szeroki, że nawet doświadczeni programiści wykorzystują zaledwie ich ułamek. To może się zmienić dzięki tej książce!

W trakcie lektury odkryjesz funkcje i możliwości, z których istnienia nie zdawałeś sobie sprawy. Ponadto nauczysz się pisać wydajne programy wielowątkowe, korzystać z silnika WebKit oraz współpracować z biblioteką Phonon. Dowiesz się również, jak sprawnie przy użyciu Qt tworzyć sformatowane dokumenty, a następnie eksportować je do różnych formatów (między innymi PDF, HTML i SVG). W książce znajdziesz wiele przykładów kodu, który został przetestowany przy użyciu Qt 4.6 zarówno na platformie Windows, jak i MacOS X oraz Linux. Wstęp do książki został napisany przez samego współtwórcę Qt - Eirika ChambeEnga. Sięgnij po doskonałe źródło informacji dla programistów!

Dzięki tej książce:

  • poznasz zaawansowane zastosowania biblioteki Qt
  • wykorzystasz możliwości silnika WebKit
  • przygotujesz atrakcyjny wizualnie dokument i wyeksportujesz go do popularnych formatów
  • zgłębisz tajniki biblioteki Qt

Wykorzystaj zaawansowane funkcje Qt!

Słowo wstępne (9)

Wprowadzenie (11)

Rozdział 1. Aplikacje hybrydowe desktopowo-internetowe (17)

  • Widżety internetowe (18)
  • Korzystanie z WebKit (32)
    • Generyczny komponent przeglądarki internetowej (33)
    • Tworzenie aplikacji specyficznych dla witryny WWW (41)
    • Osadzanie widżetów Qt na stronach WWW (54)

Rozdział 2. Audio i wideo (63)

  • Korzystanie z klas QSound i QMovie (64)
  • Framework obsługi multimediów Phonon (70)
    • Odtwarzanie muzyki (74)
    • Odtwarzanie wideo (89)

Rozdział 3. Modele tabel model-widok (97)

  • Architektura model-widok frameworka Qt (98)
  • Wykorzystanie modeli QStandardItemModel dla tabel (100)
    • Zmienianie modelu tabeli za pośrednictwem interfejsu użytkownika (101)
    • Podklasa QStandardItemModel dla tabel (112)
    • Model QSortFilterProxyModel do filtrowania duplikatów (116)
    • Model QSortFilterProxyModel do filtrowania pożądanych wierszy (118)
  • Tworzenie własnych modeli tabel (122)
    • Zmienianie modelu tabeli za pośrednictwem interfejsu użytkownika (122)
    • Niestandardowa podklasa QAbstractTableModel dla tabel (125)

Rozdział 4. Modele drzew w architekturze model-widok (139)

  • Wykorzystanie klasy QStandardItemModel dla drzew (141)
    • Zmienianie modelu drzewa za pośrednictwem interfejsu użytkownika (142)
    • Podklasa QStandardItem dla elementów drzewa (151)
    • Podklasa QStandardItemModel dla drzew (152)
  • Tworzenie niestandardowych modeli drzew (160)
    • Zmiana modelu drzewa za pomocą interfejsu użytkownika (161)
    • Niestandardowa klasa opisująca element drzewa (165)
    • Niestandardowa podklasa klasy QAbstractItemModel dla drzew (168)

Rozdział 5. Delegaty w architekturze model-widok (193)

  • Edytory specyficzne dla typów danych (194)
  • Delegaty specyficzne dla typów danych (196)
    • Delegat tylko do odczytu dla kolumn lub wierszy (197)
    • Delegat dla kolumn lub wierszy, które można edytować (201)
  • Delegaty specyficzne dla modelu (208)

Rozdział 6. Widoki w architekturze model-widok (215)

  • Podklasy klasy QAbstractItemView (216)
  • Widoki wizualizacji specyficzne dla modelu (232)
    • Widżet wizualizatora (233)
    • Zagregowany widżet nagłówka w wizualizatorze (239)
    • Zagregowany widżet widoku w wizualizatorze (243)

Rozdział 7. Wielowątkowość z wykorzystaniem przestrzeni nazw QtConcurrent (253)

  • Uruchamianie funkcji w wątkach (256)
    • Zastosowanie metody QtConcurrent::run() (260)
    • Wykorzystanie podklasy klasy QRunnable (265)
  • Filtrowanie i mapowanie w wątkach (268)
    • Wykorzystanie funkcji przestrzeni nazw QtConcurrent do filtrowania (278)
    • Wykorzystanie funkcji przestrzeni nazw QtConcurrent do filtrowania z redukcją (285)
    • Wykorzystanie funkcji przestrzeni nazw QtConcurrent do mapowania (289)

Rozdział 8. Obsługa wielu wątków z wykorzystaniem klasy QThread (295)

  • Przetwarzanie niezależnych elementów (296)
  • Przetwarzanie współdzielonych elementów (310)

Rozdział 9. Tworzenie edytorów tekstu sformatowanego (325)

  • Klasa QTextDocument - wprowadzenie (326)
  • Tworzenie własnych edytorów tekstu (328)
    • Uzupełnianie w polach tekstowych oraz polach kombi (329)
    • Uzupełnianie i podświetlanie składni dla edytorów tekstu (330)
  • Jednowierszowy edytor sformatowanego tekstu (350)
  • Wielowierszowy edytor sformatowanego tekstu (361)

Rozdział 10. Tworzenie sformatowanych dokumentów (367)

  • Jakość obiektu QTextDocument wyeksportowanego do pliku (369)
  • Tworzenie dokumentów QTextDocument (372)
    • Tworzenie dokumentów QTextDocument za pomocą HTML (373)
    • Tworzenie dokumentów QTextDocument za pomocą obiektów klasy QTextCursor (375)
  • Eksportowanie i drukowanie dokumentów (379)
    • Eksportowanie dokumentów QTextDocument (380)
    • Drukowanie i przeglądanie dokumentów QTextDocument (384)
  • Rysowanie stron (387)
    • Rysowanie dokumentów PDF lub PostScript (394)
    • Rysowanie dokumentów SVG (395)
    • Rysowanie dokumentów z grafiką rastrową (395)

Rozdział 11. Tworzenie okien w architekturze grafika-widok (397)

  • Architektura grafika-widok (398)
  • Widżety i układ w architekturze grafika-widok (401)
  • Wprowadzenie do elementów graficznych (407)

Rozdział 12. Tworzenie scen w architekturze grafika-widok (417)

  • Sceny, elementy i akcje (419)
    • Tworzenie głównego okna (420)
    • Zapisywanie, ładowanie, drukowanie i eksportowanie scen (423)
    • Wykonywanie operacji na elementach graficznych (431)
  • Ulepszanie widoku QGraphicsView (447)
  • Tworzenie przyborników w postaci widżetów doku (448)
  • Tworzenie własnych elementów graficznych (454)
    • Ulepszanie klasy QGraphicsTextItem (455)
    • Ulepszanie istniejących elementów graficznych (463)
    • Tworzenie własnych elementów graficznych od podstaw (466)

Rozdział 13. Frameworki obsługi animacji i maszyn stanów (475)

  • Wprowadzenie do frameworka animacji (476)
  • Wprowadzenie do frameworka maszyny stanów (480)
  • Połączenie animacji z maszynami stanów (487)

Epilog (497)

Wybrana bibliografia (501)

O autorze (505)

Skorowidz (507)

  • Title: Biblioteki Qt. Zaawansowane programowanie przy użyciu C++
  • Author: Mark Summerfield
  • Original title: Advanced Qt Programming: Creating Great Software with C++ and Qt 4
  • Translation: Radosław Meryk
  • ISBN: 978-83-246-8234-8, 9788324682348
  • Date of issue: 2014-03-21
  • Format: Ebook
  • Item ID: bibqtc
  • Publisher: Helion