As with the previous developer days, we will offer a training day before the conference. The trainings will be extracts from our regular trainings.
The format for the training day will be similar to our regular trainings. This means there will be a mix between lectures and labs. It is therefore recommended that you bring a laptop to the training day.
The trainings have been selected so they should appeal to as broad an audience as possible.
The possible trainings are:
- Introduction to Qt for the desktop
- Introduction to Qt Quick
- Introduction to Qt for embedded Linux
- Introduction to Testing Qt application with Squish
- Model/View programming using Qt
- Modern OpenGL with Qt5
- Whats new in C++11 (with a Qt5 focus)
Introduction to Qt for the desktop
This training introduces you to the Qt widget world. This will be the right training for you if you are planning to develop a desktop application with Qt (or if you are already doing so and want to check that you are doing it the right way).
The training will discuss these topics among other things:
- layout management
- object communication using signals/slots
- the Qt event system
- 2d painting.
Trainer: Steffen Hansen
Senior Software Engineer at KDAB. Steffen has actively developed with Qt since 1997 and was responsible for several of the components of the KDE Desktop like the display manager kdm and the service manager kded. He holds an MS in Computer Science and has taught numerous Qt classes for companies like ChevronTexaco, BBC, and J.D. Edwards.
Introduction to Qt Quick
This training is an introduction to Qt Quick. On one side it will teach you how you compose fluid user interfaces with slick animations using the QML language. While on the other side it will also teach you how you hook the QML side up to your business logic in C++.
Knowing the basics of Qt on C++ level is an advantage but not a requirement.
Trainer: Volker Krause
Senior Software Engineer at KDAB, Volker has been developing with Qt for more than ten years now. He works in Berlin's KDAB office as a consultant and trainer. His experience with Qt spans desktop and embedded platforms, with a focus on software architecture and tooling. He has taught many 'Programming with Qt' trainings throughout Europe and is a longterm contributor to the KDE project. In 2010 Volker started the GammaRay project to address the need for QML debugging tools (which did not yet exist at the time), and has lead the project since then.
Introduction to Qt for embedded Linux
This training is targeted at people who are interested in developing embedded applications using Qt.
The training will introduce Qt and Qt Quick, and discuss the setup and tool chains for developing Qt or Qt Quick applications for Embedded Linux.
The training will also discuss QPA (The Qt Platform Abstraction) plus how to tune Qt for embedded systems.
Trainer: Kevin Krammer
Software Engineer at KDAB. Kevin has actively developed with Qt since 2000 and has been an active KDE contributor for the same time. He is also a founding member of the Qt developer community web site QtCentre. Kevin holds a BS in Software and Communications Engineering.
Introduction to Testing Qt application with Squish
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 black box 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.
Knowing the basics of Qt and software development is a benefit for this presentation, though both testers and managers who are looking into automatic testing will benefit.
Trainer: Tobias Nätterlund
Software engineer at KDAB. Tobias has actively developed with Qt since 2006, and is the co-author of the Squish training material. He was also the maintainer of our automated testing tool for several years. He holds an MS in Computer Science and has held Squish training courses in Germany as well as in Sweden.
Model/View programming using Qt
A key ingredient in successful software development is separation of presentation and business logic. Everyone knows that. A larger part of most applications is 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 you 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 is displayed in Qt Quick.
Trainer: David Faure
Qt/KDE developer since 1998, David Faure has worked at KDAB since 2003, on various development projects, as a Qt trainer, and nowadays as managing director for the French subsidiary. He is also one of the main contributors to the KDE libraries ("KDE Frameworks"), and since Open Governance, contributes regularly to Qt 5.
Modern OpenGL with Qt5
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.
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!
Trainer: Dr Sean Harmer
Dr Sean Harmer holds a Master of Science degree in Mathematics & Astrophysics and a Ph.D. in Astrophysics. Sean has been developing with C++ and Qt since 1998 and in a commercial setting since 2003. Sean has been involved in developing software in many areas including engineering, safety & risk, oil & gas, visualization and numerical simulations. Sean is currently employed as a Senior Software Engineer at KDAB where he is regularly involved in the development of Qt 5, the QNX/Blackberry port of Qt, OpenGL, and presenting professional Qt training courses.
Whats new in C++11 (with a Qt5 focus)
This training is targeted at people who are interested to combine the new features of C++11 with Qt5 (and, to a lesser extent, Qt 4.8). It will teach you all about the new C++11 features, but also throws in Qt-specific information, including how to structure your code so that a simple recompile with a C++11 compiler will make your applications both faster and use less memory.
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.
Trainer: Marc Mutz
Marc is a Senior Software Engineer, Trainer, and Consultant with KDAB. He's the author of the company's "In-depth Multithreading With Qt" and C++11 courses, and runs "-Wmarc", a blog about Qt, C++ and Boost. A regular contributor to Qt these days, he has actively used the framework for more than a decade, first as a KDE contributor, and then on the job.