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.5k 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.
  • M Offline
    M Offline
    mlong
    wrote on last edited by
    #4

    bq. Or you are too lazy to learn?

    This condescending tone is uncalled for. Mr.Universe was asking a very specific and reasonable question, as the old certification curriculum pages that were posted on the qt.nokia.com site are no longer available. I had tried, myself, to search for them to offer up a cached version to him, but had no luck.

    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
      mlong
      wrote on last edited by
      #5

      Mr.Universe: I can't find the official curriculum list, but "this thread":/forums/viewthread/12675 can give some insight into topics and items to be comfortable with.

      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
      • A Offline
        A Offline
        AcerExtensa
        wrote on last edited by
        #6

        Sorry, was thinking you are looking for old examples from peoples who has already done this exam. Just for study this pages and got through exam like peoples do with CCNA exams. My bad. Don't be angry to me :)

        God is Real unless explicitly declared as Integer.

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

          thanks mlong,
          I also tried to get the pages via google cache or archive.org, but couldn't find it.
          The thread you posted isn't exactly what I was looking for, but it looks like a suitable alternative...
          Can you tell me wether the links posted there by Rahul Das cover all topics that are part of the essentials-exam? (From my memory I'd guess they do)

          1 Reply Last reply
          0
          • 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