Académique Documents
Professionnel Documents
Culture Documents
This document defines the curriculum for Qt Essentials exam. Digia provides three kinds of Qt certification exams: Qt Essentials Widget UI with Qt Core C++ for Qt Developers
If a candidate passes Qt Essentials exam, he or she will receive Digia Certified Qt Developer status and the corresponding certificate. If he or she additionally passes either or both of advanced exams (Widget UI with Qt or Core C++ for Qt Developers), the candidate will receive Digia Certified Qt Specialist status and the corresponding certificate. If a candidate has already taken two exams and passes the third one, he or she will receive another specialist certificate, where all three passed exams are listed. It is also possible to take an advanced exam before the essentials one, but the candidate does not receive any certificate in this case, until the essentials exam has been passed. The exams are organized by authorized PearsonVUE test centers. Look at the details of test center locations in http://www.pearsonvue.com/digiaqt/. To see the nearest test center of your location, use Exam Scheduling links at the bottom of the page. Digia prints the certificates bi-weekly using a print house in Germany. After printing, the certificates are sent by mail to the exam candidates. Qt Essentials exam will test your basic Qt knowledge. The exam contains a set of multiple choice questions and the candidate must select the correct statement(s).
Fundamentals of Qt Programming
Understanding of the need for cross platform libraries and the fundamentals of building a Qt application A comparison of cross platform frameworks Creation of a simple application with Qt Basic development steps, incl. edit, build and use Qt inside of IDEs Connecting UI to the business logic of an application An overview of Qt Modules and their key functionality
QObject
Understand the fundamentals of QObject Be able to use Qt properties and other core features provided by the Qt's meta-type system
Developing an application
Basic understanding of events and drawing in Qt as well as the main building blocks of an application The concept of events in Qt and the differences to signal/slots Basic event handling How to draw in Qt The use of QMainWindow The use of Actions Generic IO, access to files Text encoding How to paint images The use of QPrinter
Events
Understand the concept of events Understand the difference between events and signal/slots Be able to implement event handling Understand the role of events in painting Understand the role of event filters and be able to use them Understand the concept of event propagation Learn how to post/send events Be able to create/send/handle custom events
Basic drawing
-
Learn how to draw on widgets Understand the difference between QPixmap, QImage and QPicture Be able to load an image from a file
Settings
-
Know how to store application settings in different formats with help of QSettings Be aware of and be able to control the storage location of settings on different platform Qt Essentials Exam Curriculum Copyright 2012 Digia Plc. Page 2 of 5
Qt debugging aids
Be able to write debug messages Understand the usage of asserts Be able to use GDB with Qt Understand why event filters can be helpful for debugging
Standard dialogs
Know the various standard dialog types Understand the usage of standard dialogs Be able to use these dialogs Understand how processing of events works with QProgressDialog Understand the structure of wizards Be able to create your own wizards with pages
Validating input
Be able to set input masks on line edits Understand the format for input masks Know that QCompleter offer popup completion
Resources
Understand the advantage of resource files over ordinary files Learn how to add resource file to the project Know the resource XML file structure Be able to access resources from the application Know that resource files can be localized Learn how to load a resource file dynamically
Help system
Know the different possibilities to provide help Understand the concept of the system tray icon Learn how to support dynamic help
Container classes
Understand the concept of containers Know the difference between Java and STL styled APIs Know the different container types Qt Essentials Exam Curriculum Copyright 2012 Digia Plc. Page 4 of 5
Be able to identify the best suited container type for your needs Know the requirements for a type to be storable in a container Be able to iterate of containers Know the difference standard and mutable iterators Be able to use the foreach keyword on containers Know the utility container algorithms offered by Qt Understand the concept of implicit shared classes
QVariant
Understand the central role of QVariant for many other container classes Know which types are supported by default and be able to store new data types
QSignalMapper
Understand the concept of signal mapper Be able to use QSignalMapper
QTimer
Understand the concept of QTimer Be able to use QTimer Understand the different operation modes of timers
Understand the usage of QFile Be able to identify the difference between QDataStream and QTextStream Know the related classes for file and directory access Be able to read/write from/to files using Qt Understand the issue of text encodings and files Understand when better to use QDataStream instead of QTextStream Be able to print a widget or text document in PDF format using QPrinter