Conference starts in:

Learn more about our Virtual Reality project

Welcome to visit Open Karelia

You are here

FRUCT Advanced Qt Summer School 2011 in India


Advanced Qt training with emphasis on Networking & Mobility

by Dr. Kirill Krinkin, on 29th August – 2nd September 2011, Belgaum, India

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




1st day. Overview and introduction


Qt SDK Overview. Components. Tools. Capabilities.

Introduction and short technology overview.


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.


Application types: console, dialog-based, with main window. Layouts.

Overview different application types. Common classes for UI development. Standard dialogs.


Event handling. Timers. Event loops.

Introduction to event handling. Nested Event loops. Custom dispatchers and handlers.  Trivial paintings.

2nd day. Models, resources and graphics


Widgets with models: lists, tables, trees

Model-view controller (MVC) architecture review. MVC in Qt. Models, indexes, data structures. Selection models. Custom filters.


Resources. Multi – language support

Linguist tool. Translations. How to create multi-language applications. Resource management.


2D Graphics

Graphic primitives in Qt. Pens, brushes, patterns. Animations. Conform transformations. QGraphicsView and QGraphicsScene mastering.

3rd day. Advanced architecture and performance


Qt Containers and performance

QtCore discovering. Memory and performance. Tuning approaches.


Pimpl Paradigm and d-pointers

Qt architecture discussion. Implementation details. Private types. Implementation pointers.


Multithreading and synchronization

QThread, Synchronization. Thread-safe development with Qt.

4th day Networking and databases


Networking in Qt

IP network fundamentals. TCP/UDP communication details. Qt network classes overview. Simple network apps development.


Databases in Qt

Introduction into databases. Drivers, SQL Queries, Table Specific data models.

5th day. Mobility and OVI publishing


Qt mobility

Mobility project overview. Classes for mobile phones development. Access to contacts and calendar data. Sensors.  Location API.


OVI publishing

Introduction into OVI  publishing. Remote compiler. Qt Simulator. RDA. Requirements to application. Testing, signing, publishing algorithm. Common publishing issues discussion.


Success criteria

During the course each participant will acquire knowledge on:
  • 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.


The course is strictly invitation based and all participants must introduce themselves at the training forum (will be available soon).