Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Learning
  3. Qt Certification
  4. Curriculum Block for QT Essentials
Forum Updated to NodeBB v4.3 + New Features

Curriculum Block for QT Essentials

Scheduled Pinned Locked Moved Qt Certification
17 Posts 6 Posters 11.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Offline
    G Offline
    giesbert
    wrote on last edited by
    #8

    Hi Mr. Universe,

    There are even more threads with topics, like "this one":http://qt-project.org/forums/viewthread/20507/

    Aditionally, here is the link to the "certification page":http://qt.digia.com/product/learning/certification/ . Currently it only says: we are collecting data and will post it soon....

    Nokia Certified Qt Specialist.
    Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

    1 Reply Last reply
    0
    • M Offline
      M Offline
      Mario84
      wrote on last edited by
      #9

      thanks gerolf, I already knew the thread you posted, but its for the core c++ exam, not for the essentials. But I'll try to contact digia through the certification page, perhaps they can give me a copy...

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mlong
        wrote on last edited by
        #10

        Mr.Universe,

        Those topics, as I recall, seem to be pretty comprehensive. The most important part, though, is that you're already comfortable with Qt development in general. The purpose of certification is to indicate that you're genuinely knowledgeable in the area, so just make sure that you're comfortable with those general types of topics. If you're comfortable with the given topics in that list, then you've probably done enough development with Qt to handle any other related topics which may or may not be listed there.

        Software Engineer
        My views and opinions do not necessarily reflect those of anyone -- living or dead, real or fictional -- in this universe or any other similar multiverse node. Void where prohibited. Your mileage may vary. Caveat emptor.

        1 Reply Last reply
        0
        • M Offline
          M Offline
          Mario84
          wrote on last edited by
          #11

          Thanks mlong,
          I guess you're right. I am working with Qt every day in my job, so I'm sure I can answer most of the questions without problems, but I remember some topics in the curriculum I never came in touch with during my work... But from my memory I think the list in the other thread covers those topics...
          I also sent an e-mail to digia, if they can send me a copy of the old page, if they do, I'll post it here, if not, I'll probably pass the exam anyway!

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mlong
            wrote on last edited by
            #12

            Good luck with your exam! Looking forward to seeing a certification badge below your name soon!

            Software Engineer
            My views and opinions do not necessarily reflect those of anyone -- living or dead, real or fictional -- in this universe or any other similar multiverse node. Void where prohibited. Your mileage may vary. Caveat emptor.

            1 Reply Last reply
            0
            • B Offline
              B Offline
              broadpeak
              wrote on last edited by
              #13

              Recommended books and chapters for Essentials:

              @
              C++ GUI Programming with Qt 4, 1st and 2nd Edition, by Jasmin Blanchette, Mark Summerfield. The 1st Edition is also available online.
              Part I Basic Qt
              Part II Intermediate Qt
              Section 6: Layout Management
              Section 7: Event Processing
              Section 11: Container Classes
              Section 12: Input/Output
              Section 16: Providing Online Help
              Section 17: Internationalization

              Foundations of Qt Development, by Johan Thelin
              Part 1: Getting to Know Qt
              Part 2: The Qt Building Blocks
              Chapter 6: Creating Widgets
              Chapter 7: Drawing and Printing (excluding Graphics View)
              Chapter 8: Files, Streams, XML (XML in basics only)
              Chapter 9: Providing Help
              Chapter 10: Internationalization and Localization
              Chapter 15: Building Qt Projects, basic use of qmake, cmake is not in scope

              An Introduction to Design Patterns in C++ with Qt 4, by Alan Ezust, Paul Ezust
              Part I: Introduction to C++ and Qt 4
              Section 3: Introduction to Qt
              Section 4: Lists
              Part II: High-Level Programming
              Section 9: QObject
              Section 10: Generics and Containers
              Section 11: Qt GUI Widgets

              The Book of Qt 4: The Art of Building Qt Applications by Daniel Molkentin
              Chapter 1: Basics, Tools, and First Code
              Chapter 2: The Tools Needed to Create Dialogs
              Chapter 3: GUI Design Using the Qt Designer
              Chapter 4: Developing a GUI Application Based on a Main Window
              Chapter 5: Laying Out Widgets (only Basics)
              Chapter 6: Dialogs (only Basics)
              Chapter 7: Events, Drag and Drop, and the Clipboard (only Events)
              Chapter 10: The Graphics Library "Arthur" (only Basics)
              Chapter 11 Input/Output Interfaces
              @

              1 Reply Last reply
              0
              • B Offline
                B Offline
                broadpeak
                wrote on last edited by
                #14

                Topics:

                Qt Essentials Curriculum Block

                Version 1.1

                Fundamentals of Qt programming

                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 questions about Qt
                • Learn how to use qmake

                QObject basics

                • 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

                • Understand where and when Qt deletes objects
                • Know when a developer is responsible for providing code deleting allocated objects
                • Understand when heap and stack allocation are used in Qt

                Edit and build

                • Be able to create and manage a Qt project via *.pro files
                • Know key facts about the Qt build process and the tools used (qmake, moc, Makefiles)
                • Learn how to use Qt with Qt Creator and supported IDEs

                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 your own signals/slots

                Overview of modules and classes

                • Be able to list major Qt modules
                • Understand the concept and 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 making software more portable
                • Know the limitations of Qt's portability
                • Understand how to make your project portable

                Developing an application

                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 windows and actions

                • Know how to use QMainWindow
                • Know how to implement a menu
                • Be able to use tool bars and status bars
                • 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 the help of QSettings
                • Be aware of and be able to control the storage location of settings on different platforms

                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
                1 Reply Last reply
                0
                • B Offline
                  B Offline
                  broadpeak
                  wrote on last edited by
                  #15

                  Topics continued:

                  Using dialogs and handling UI Layout

                  Geometry management

                  • 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 your 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

                  Using Qt Designer and Qt Creator for UI development

                  • 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

                  Strings, Resources and Help

                  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 pop-up completion

                  Resources

                  • Understand the advantage of resource files over ordinary files
                  • Learn how to add resource files to a 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

                  Container classes

                  • Understand the concept of containers
                  • Know the difference between Java and STL styled APIs
                  • Know the different container types
                  • 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 for each 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 encoding 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
                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    mlong
                    wrote on last edited by
                    #16

                    Thanks for the info, broadpeak! I touched up the formatting a bit in your posts. Hope you don't mind.

                    Software Engineer
                    My views and opinions do not necessarily reflect those of anyone -- living or dead, real or fictional -- in this universe or any other similar multiverse node. Void where prohibited. Your mileage may vary. Caveat emptor.

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      Macro
                      wrote on last edited by
                      #17

                      Thanks for the Info broadpeak & mlong... :)

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved