QT Embedded
Zobacz ceny szkoleń i zapisz się »
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 oraz systemów sterowania robotami mobilnymi do zastosowań specjalnych (UGV-EOD). Działających w środowisku Linux Embedded.
Program szkolenia
Podczas ćwiczeń praktycznych używana jest najnowsza wersja biblioteki QT 6.X. Omawiane i prezentowane są również funkcje starszych "produkcyjnych" wersji: 5.15 LTS.
Część 1 (8h)
- Podstawy of Qt: komponenty, biblioteki, wersje, licencje,
- Integracja Qt z Yocto Project
- Tworzenie aplikacji - podstawy
- Narzędzia Qt:
qmake
, moc
, uic
, etc.
cmake
- Kross-kompilacja Qt: Qt Embedded, introduction, embedded setup,
- Konfiguracja środowiska pracy: Qt Creator, VSCode informacje praktyczne dla developerów.
- Fonty,
- 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
- Podstawowe 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
- Model/Widok i inne wzorce projektowe w Qt: MVC, Item Widgets, Model/View Concept, Custom Models, Item Views, abstract state machine
- Debugowanie aplikacji QT.
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)
- 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 - integracja w Qt.
- Qt Multimedia i sposoby implementacji przetwarzania multimediów (GStreamer)
- Programowanie sieciowe w Qt,
- Renderowanie HTML: Qt WebEngine
- 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.