Vous êtes sur la page 1sur 5

Qt Essentials 010-002 Exam Curriculum

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

UI and cross platform libraries


Learn the difference between a native APIs and cross platform APIs Know the difference between toolkits and frameworks Understanding the reasoning for portable software

First development steps


Learn how to write a simple Qt application Understand the need for layout management Be able to find answers to Qt questions Learn how to use qmake

QObject
Understand the fundamentals of QObject Be able to use Qt properties and other core features provided by the Qt's meta-type system

Memory management Edit and build


Be able to create and manage a Qt project via *.pro files Know key facts about the Qt build process and tools used (qmake, moc, Makefiles) Learn how to use Qt with Qt Creator and an supported IDEs Qt Essentials Exam Curriculum Copyright 2012 Digia Plc. Page 1 of 5

Signals and Slots


Learn the advantages of signals/slots Understand the concept of signal/slots Learn how to connect signals to slots Be able to use and define own signals/slots

Overview of modules and classes


Be able to list major Qt modules Understand the concept and the functionality of a Qt module Understand the major APIs provided by different Qt modules

Some thoughts about portability


Understand the advantages of portable software Know the concepts of how you can make your software more portable Know the limitations of Qt's portability Understand how to make your project portable

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

Main window and actions


Know how to use QMainWindow Know how to implement a menu Be able to use a toolbar and statusbar Understand the concept of Actions Know how to use QVariant to store data in Actions Understand the usage of scrolled areas

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

Writing your own widgets


Know when it is better to write a custom widget Be able to re-implement event handler methods Understand when to use signals Be able to decide which internal variables should be made accessible Understand the importance of clean constructors

Using dialogs and handling UI layout


The key concepts and functionality of Qt widgets and layout managers. The use of the Qt Designer tool for rapid UI prototyping Geometry in Qt Top-level widgets and dialogs Layout Managers Creating dialogs Creating custom widgets The functionality of standard dialogs The use of wizards API The use of Qt Designer tool

Geometry and layout managers


Learn how to manipulate the geometry of a widget Understand the concepts behind a layout manager in Qt Know and understand the various layout managers Learn how to use widgets with layout a managers Be able to develop own dialog with layouts

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

Creating own (custom) dialogs


Learn how to subclass a QDialog Understand the usage of buttons in a dialog Be able to launch dialogs (not-) modal Know the deletion options for dialogs Be able to create your own dialogs with user interactions

Qt Designer & Creator


Understand how designer can help in creating widgets Understand the concept of designer files Be able to load designer code inside your code Be able to connect designer elements with business functions Know how to manage custom widgets in designer Be able to load designer files in runtime Be able to write a dialog using the designer tool

Qt Essentials Exam Curriculum Copyright 2012 Digia Plc. Page 3 of 5

Strings, resources and help


The power of string handling in Qt and advanced concepts based on text handling String manipulation Regular expressions Validation of user input Concept of Qt resource system Loading of resources Accessing resource elements Adding "Help" functionality to widgets Dynamic help QTextBrowser as a help viewer

Strings, URLs and regular expressions


Learn how to create strings with QString Know how to extract data from strings Know how to test strings Know useful utility functions in QString Know the basics about Qt support of translation of strings into other languages Understand QUrl and the components of an URL Learn how to use QRegExp for regular expression and shell globing

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 and other non-GUI classes


Various useful topics that are needed for application creation Container types Container (mutable) iterator Foreach keyword Implicit shared classes Debug messages Debugging techniques Thoughts about portability Portability pitfalls Signal mapper Timers Custom widgets

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

Generic IO, files and printing


-

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

Qt Essentials Exam Curriculum Copyright 2012 Digia Plc. Page 5 of 5

Vous aimerez peut-être aussi