QT Embedded
Qt to framework do tworzenia aplikacji bazujący na C++ (graficznych i nie tylko). Wspiera również tworzenie responsywnych interfejsów graficznych przy pomocy narzędzi skryptowych - QML.
Ułatwia wiele aspektów tworzenia oprogramowania. Zawiera wiele APIs i narzędzi pomocniczych.
Szkolenie oparte jest na praktycznych doświadczeniach przy tworzeniu aplikacji interfejsu użytkownika
dla urządzeń automatyki (HMI), użytkowych (multimedia), laboratoryjnych i medycznych.
Działających w środowisku Linux Embedded.
- Czas trwania
- 4-dni (32h)
Program szkolenia
Podczas ćwiczeń praktycznych używana jest najnowsza wersja biblioteki QT 5.8. Omawiane i prezentowane są również funkcje starszych wersji: 4.x.
Część 1 (16h)
- Podstawy of Qt: komponenty, biblioteki, wersje, licencje,
- Integracja Qt z Yocto Project
- Tworzenie aplikacji - podstawy
- Narzędzia Qt: qmake, moc, uic, etc.
- Kross-kompilacja Qt: Qt Embedded, introduction, embedded setup,
- Konfiguracja środowiska pracy: Qt Creator, Eclipse, informacje praktyczne dla developerów.
- Fonty, QVFb, VNC and other tools
- Programowanie obiektowe w Qt: common features of Qt’s object models, object communication using
signals and slots, signal and slot variations, handling events in Qt
- Podsawowe klasy: string handling, item container, file handling, variants, XML handling
- Widgety: common widgets, layout management, guidelines for custom widgets
- Rysowanie i Style: painting on widgets, color handling, painting operations, style
sheets, layout
- Tworzenie Aplikacji: main windows, settings, resources, translation for developers, deploying Qt applications
- Okna dialogowe i Designer: dialogs, common dialogs, Qt Designer
- Qt Embedded: display management, pointer handling, key handling,
window decoration, feature configuration, performance tuning
- IPC (komunikacja między procesami): running processes and threads, shared memory with Qt,
QtDBus - Qt bindings to D-Bus
Po tej części
After completing this part, participants are ready to choose, plan and deploy QT in both: GUI
and headless applications. Knowledge gained is applied to PC application development and
embedded project.
Część 2 (16h)
- Model/Widok i inne wzorce projektowe w Qt: MVC, Item Widgets, Model/View Concept, Custom
Models, Item Views, abstract state machine
- Skrypty: Qt Script, Debugging Scripts
- QML - creating modern responsive GUIs
- Współbieżność: multithreading - concepts and implementation, QtConcurrent, advanced
concepts
- Multitouch - interfejsy dotykowe, interakcja z użytkownikiem: starting Multitouch, touch Events
- Grafika: GraphicsView classes, transformations and coordinate systems, creating
custom items, animation
- OpenGL ES (2) - integracja w Qt.
- Qt Multimedia i sposoby implementacji przetwarzania multimediów (GStreamer)
- Programowanie sieciowe w Qt,
- Renderowanie HTML: Qt WebEngine (starsze klasy: QWebKit and QWebView).
- QSettings - przechowywanie ustawień aplikacji
- Debugowanie Qt w systemie Linux.
- Tłumaczenia, obsługa wielu języków
- Embedded Linux - Debugowanie aplikacji i systemu: gdb, strace, ltrace, perf, ltt-ng.
- Profilowanie systemu. Wizualizacja działania aplikacji współbieżnych przy użyciu ltt-ng i
Eclipse.
Po tej części
During this part of the course, advanced QT related subjects are introduced.
Exercises are build around creating graphic-reach QWidgets and QML applications. During
course, a complete QT based GUI application is build, profiled and deugged. HMI controlling
some simple emulated process is used as an example.
After the training, participants will be ready to develop custom QT/C++/QML based applications
and understand its internals and underlying Embedded Linux system. Debugging and system
profiling will be covered as well.