The conference starts in:

Join us Vkontakte and follow news in Russian

Welcome to visit Open Karelia

You are here

FRUCT Advanced Qt Summer School 2011 in India

FRUCT LETI Lab

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


#


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

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.

Participation

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