|10:00-12:00||Intro to QML
Kevin Krammer (KDAB)
|Intro to Testing Qt applications with Squish
Florian Turck (froglogic)
|Model/View programming in Qt
András Mantia (KDAB)
|Intro to Multithreaded Programming with Qt
David Faure (KDAB)
|Intro to Modern OpenGl with Qt
Sean Harmer, Giuseppe D'Angelo (KDAB)
|What’s new in C++11/C++14
Thomas McGuire (KDAB)
|Developing with Qt for QNX platforms
Tobias Koenig (KDAB), Marcus Bortel (QNX)
|Qt for Mobile Platforms (Android/IOS)
Bogdan Vatra, Nuno Pinheiro, James Turner (KDAB)
Again this year it will be possible to join a one day training prior to the actual conference. The price for that extra day of training is only €200, now where can you find a high quality training for that price?
This year KDAB will offer 8 different training alternatives, all based on our regular training catalog. The trainings vary a great deal in focus, so you can find what you need to fit your existing Qt skills.
Below, please find a cheat sheet on which class might be of interest to you based on your current experience and position.
If you are a developer and new to Qt:
- Developing with Qt for QNX platforms
- Introduction to QML - also known as Qt Quick
- Qt for Mobile Platforms - Android/iOS
If you are a manager or decision maker and new to Qt:
- Introduction to QML - also known as Qt Quick (A bit technical but will give you an idea of the skillset needed)
- Developing with Qt for QNX platforms (A bit technical, but will give you a great overview of the process)
- Introduction to Testing Qt applications with Squish (Gives you a great overview of what it takes to test Qt applications)
- Qt for Mobile Platforms - Android/iOS (Might be a tad too technical, but at least will give you an idea what it takes to develop with Qt on those platforms)
If you already are a Qt developer:
- Introduction to QML - also known as Qt Quick (Only if you haven't used QML yet)
- Introduction to Testing Qt applications with Squish (Are you testing your code enough?)
- Model/View programming in Qt
- Introduction to Multithreaded Programming with Qt
- Introduction to Modern OpenGL with Qt
- Whats new in C++11/C++14 (With a Qt5 focus)
- Developing with Qt for QNX platforms (Some of the Qt topics may be known to you already, but it will indeed show you a lot of best practices)
- Qt for Mobile Platforms - Android/iOS (Great class if you haven't yet gone to mobile)
The small print
It costs KDAB a significant amount of time to prepare a training day, so any of the trainings will be canceled if less than 10 people have signed up for it by September 22nd. If you sign up for a training that is canceled, we will of course offer you to join a different training or get your money back for the training day. Don't forget to indicate your second choice when you register.
Target Audience: Developers and managers interested in learning the autonomy of a QML application.
Prerequisite: Knowing the basics of Qt at C++ level is an advantage but not a requirement.
This training is an introduction to Qt Quick. On the one hand it will teach you how to compose fluid user interfaces with slick animations using the QML language. While on the other hand it will teach you how you hook the QML side up to your business logic in C++.
Target Audience: Testers, Developers and Managers interested in how to automate testing of Qt applications.
Prerequisite: Knowing the basics of Qt and especially software development is a benefit for this presentation.
Unit testing will only take you so far when a graphics system is involved. If you want to be sure that the overall system works, then you need to blackbox test it too. The tool for automating that in the Qt world is Squish.
Squish is a record and playback tool, that can be used as is, but to get the most out of it a more structural approach is suggested. This training will introduce Squish and the refactoring approach that KDAB has successfully implemented in multiple large organizations.
Target Audience: Qt developers interested in model/view either from QML or from Qt Widgets.
Prerequisite: Existing Qt knowledge.
A key ingredient in successful software development is the separation of presentation and business logic. Everyone knows that. A larger part of most applications is a list of things, and for those, Qt offers such separation using a model/view framework.
This presentation will introduce this framework and tell you how to develop models independent of whether they are to be displayed in a C++/Qt application or in a Qt Quick application.
This training will dive into subjects such as:
- The API to implement for use in a 1 dimensional list, a 2 dimensional table and a tree view
- What model indexes are all about
- How to successfully implement a proxy model
- How to debug your models
- How to implement models in C++ that are displayed in Qt Quick.
Target Audience: Qt Developers interested in multithreaded development.
Prerequisite: Existing Qt knowledge. Basic understanding of multithreaded programming is also an advantage.
With more and more cores in computers, multithreaded programming is becoming increasingly important for developers. Qt offers several mechanisms for multithreading, however, it is up to you to decide which to use when so that you steer clear of common pitfalls.
This training will introduce you to multithreading concepts in general, tell you about the different mechanism in Qt, and discuss best practices and common pitfalls.
It is a requirement that you at least know the basics of Qt for this training.
Target Audience: Developers interested in learning the basics of OpenGL.
Prerequisite: A basic level of linear algebra will be assumed for this course (multiplying a matrix and a vector). Mathematics will be kept to a bare minimum so as not to get in the way of eye candy!
OpenGL is a central part of QtQuick2 in Qt 5 and also plays a key role in displaying the main content of many widget-based applications.
OpenGL has been around for many years and in recent times has evolved to shed much of its legacy baggage and better expose the underlying hardware. Modern OpenGL allows us to take full advantage of the enormous power and parallel processing power of today’s GPUs. Maximizing performance of OpenGL rendering requires us to understand how GPUs work and how to efficiently feed them with data.
Qt provides a number of classes to make life easier when working with modern OpenGL. This training will show you how to do the basic tasks associated with OpenGL rendering and will go on to show how to use Qt and OpenGL to achieve a number of rendering effects and algorithms. You will also learn how to write custom QtQuick2 items using the OpenGL and scene graph APIs.
Target Audience: C++ developers who want to upgrade their C++ skills
Prerequisite: Knowing the basics of C++ (the old standard) is a requirement, though more advanced topics will be explained as needed. Knowing the basics of Qt is beneficial, but not required.
This training is targeted at people who are interested to combine the new features of C++11/C++14 with Qt5 (and, to a lesser extent, Qt 4.8). It will teach you all about the new C++11/C++14 features, but also throws in Qt-specific information, including how to structure your code so that a simple recompile with a C++14 compiler will make your applications both faster and use less memory.
Target Audience: Developers and Managers who are interested in seeing the process involved in developing using Qt for QNX
This training day will show you how to go from "Zero to HMI Hero" in 1 day.
For any engineers currently exploring HMI (human machine interface) or GUI (graphical user interface) or RTOS (Real Time Operating System) technologies, this training day will be an important opportunity to listen to the experts and get answers to challenging questions from real-world experts.
In this training, a QNX engineer will take a Freescale i.MX6 reference platform that currently does not have an OS installed and explain how to take a Board Support Package (BSP) to create a minimal bootable operating system image. He will then go on to show how to add additional functionality including SD card interface, networking and Qt HMI capability. Mechanisms for profiling and high availability will also be explained.
An engineer from KDAB, will then show how to deploy Qt 5 to the target and set up the host environment ready to develop with Qt 5 on QNX. He will then develop a small HMI application using C++ for a robust backend and Qt Quick 2 (QML) technology for the GUI. Attendees will learn many facets of the Qt environment and best practices.
The complete source code for the HMI example application developed in the session, along with details of where to download the RTOS image, will be made available to all attendees.
Target Audience: Anyone interested in the process of developing with Qt for mobile platforms
Prerequisite: Basic Qt knowledge is beneficial.
This presentation will introduce the tools and processes needed to develop with Qt for mobile devices, including Android and iOS.
The agenda for the day will approximately look like this:
- Installing and setting up Qt for Android
- Installing and setting up Qt for iOS
- Usecase: Targeting desktop and mobile devices using Qt
- Device independent development - how do you cope with devices of vastly different resolutions and screen density?