This one hour presentation will cover some of the more complex areas of QML and present tips, tricks, best practices and common areas of error and confusion. The material is based on real-world experience developing customer applications for mobile, embedded and desktop.
The topics covered will include some or all of the following:
Anchors - QML offers a flexible and useful way of binding properties between objects but, if used incorrectly, can have a negative impact on application performance. For visual items, anchors offer a better implementation option.
Integrating C++ and QML - Even though much Qt functionality is exposed to QML and Qt 5's JavaScript interpreter uses a high performance JavaScript engine, there are cases where you will need to integrate C++ code with QML. We'll present the fundamentals of this integration and study some specific cases.
Data Models and Views - This will cover support for data models and views in QML including static models, dynamic models, delegates and using C++ models with QML views.
Keyboard Input Handling - QML provides the means to handle keyboard input at either a fine-grained or high level. There is convenient built-in functionality for tab and arrow key navigation and forwarding of input events. The rules defining how keyboard events are processed are simple, but one needs to pay attention to several important details (as well as to the behavior of the built-in QML items) to get the right behavior.
From the Trenches: Lessons Learned from Real World QML Projects - We will describe some lessons learned from large customer projects that used QML, looking at some architectural decisions and design patterns that worked well and some that did not. We'll cover some common errors when first using QML and ways to avoid performance problems. Suggestions will be presented on how to divide up a system appropriately between QML, JavaScript and C++ code.
Time will be allotted to answer questions from the audience.
Presenter Bio:
Justin is a Senior Consulting Engineer and Qt Certified Instructor at Integrated Computer Solutions, Inc. (ICS). He has taught Qt and Qt Quick/QML material for both public and on-site courses for many years. He has also written and conducted seminars on Object-Oriented GUI Design techniques. Justin has a degree in Computer Engineering Technology from Northeastern University and enjoys gadget tinkering, fixing cars and playing hockey in his spare time.
|