Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction (WIP)

  • TODO: add a welcome message
  • TODO: add a section explaining why this course exist (try to make things easier to learn, learning to use qml, etc.)

What is QML

Qt offers two ways of creating user interface: Qt Widgets and Qt Quick. Qt widget let's you create user interface entirely in C++ whereas Qt Quick introduce a new language called QML to describe the user interface.

Qt Widget

Qt Widgets is mainly focused on creating desktop native looking application. It is quite fast and very easy to integrate with c++, but often feel dated and is difficult to customize.

Qt Quick

QML is a user interface markup language developped by Qt. It is made to develop user interface very quickly, it is highly customizable and can run virtualy anywhere, from desktop, to mobile and embeded. It it also very fast, but as it is a new language, it is sometimes quite hard to grasp and can be unpredictable. Qt Quick is the framework and the library build around the creation of application with QML.

What this course cover

  • TODO: Add a section explaining what this course will focus and what it will not.

Prerequisites

C++

As we will explore how to create applications with QML and how to integrate it with C++, it is necessary to have a decent knowledge of this programming language. A beginner level will be enough for a good portion of this course, but more advance chapter like TODO will require more of an intermediate level in C++.

CMake

The build system we used for this course is CMake. A minimum compression of how it works can be beneficial to better understand the setting up of a project and how to customize it. That being said, as the build system is not the focus of this course, we will provide complete CMake snippet that should work at out of the box.

Structure

  • TODO: Add a section to detail how the course is structured, how the pieces of codes are organized, how to run them, where to find the sample projects, etc...
  • TODO: Maybe add a few exemple of how use integrated code and admonish. Something like:

Code samples will be shown like so:

Rectangle {
    color: "red"
}

A warning

Warning will be displayed like so

Cockroach

Bugs will be displayed like so

Credit

  • TODO: Add what we used as a reference to create this book?