You are here
FRUCT Advanced Qt Summer School 2011 in India
FRUCT LETI Lab
Advanced Qt training with emphasis on Networking & Mobility
Target audience
Qt programmers who have the following skills:
-
Understanding Qt meta object architecture;
-
Good C++ knowledge, including solid understanding of inheritance, polymorphism, virtual functions concepts;
-
Some practical experience of development in Linux environment;
- Understanding gnu/make and .pro file formats
The main goals of training
-
to improve solid understanding Qt architecture;
-
to acquire knowledge about Networking;
-
to acquire knowledge about Database programming;
-
to improve knowledge about Qt mobility;
- to get practical experience for Qt development and publishing in OVI.
Program of the training
# |
Topic |
Description |
1st day. Overview and introduction |
||
1 |
Qt SDK Overview. Components. Tools. Capabilities. |
Introduction and short technology overview. |
2 |
Memory management. Meta Object system. Signals and slots. |
Meta-object system overview. Memory management. Parent-child relations. Dynamic properties. Qt containers and type conversion. Signal / slots discussion. |
3 |
Application types: console, dialog-based, with main window. Layouts. |
Overview different application types. Common classes for UI development. Standard dialogs. |
4 |
Event handling. Timers. Event loops. |
Introduction to event handling. Nested Event loops. Custom dispatchers and handlers. Trivial paintings. |
2nd day. Models, resources and graphics |
||
5 |
Widgets with models: lists, tables, trees |
Model-view controller (MVC) architecture review. MVC in Qt. Models, indexes, data structures. Selection models. Custom filters. |
6 |
Resources. Multi – language support |
Linguist tool. Translations. How to create multi-language applications. Resource management. |
7 |
2D Graphics |
Graphic primitives in Qt. Pens, brushes, patterns. Animations. Conform transformations. QGraphicsView and QGraphicsScene mastering. |
3rd day. Advanced architecture and performance |
||
8 |
Qt Containers and performance |
QtCore discovering. Memory and performance. Tuning approaches. |
9 |
Pimpl Paradigm and d-pointers |
Qt architecture discussion. Implementation details. Private types. Implementation pointers. |
10 |
Multithreading and synchronization |
QThread, Synchronization. Thread-safe development with Qt. |
4th day Networking and databases |
||
11 |
Networking in Qt |
IP network fundamentals. TCP/UDP communication details. Qt network classes overview. Simple network apps development. |
12 |
Databases in Qt |
Introduction into databases. Drivers, SQL Queries, Table Specific data models. |
5th day. Mobility and OVI publishing |
||
13 |
Qt mobility |
Mobility project overview. Classes for mobile phones development. Access to contacts and calendar data. Sensors. Location API. |
15 |
OVI publishing |
Introduction into OVI publishing. Remote compiler. Qt Simulator. RDA. Requirements to application. Testing, signing, publishing algorithm. Common publishing issues discussion. |
Success criteria
- how to create and manage Qt application project with qmake;
- define high level Qt application architecture;
- implement and test application logic;
- design application with mobility and networking features;
-
publishing in OVI.
Way of work
- Lectures with fundamentals overview;
- Instructor-led trainings for getting practical experience;
- Individual (or in pair) work on course project.