Skip to content
The source code for the upcoming qml book
Batchfile Python Shell Makefile
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.tx Documentation for translation Jun 27, 2018
_images added screenshots to ch05. Mar 1, 2015
docs Typo in QtQuick version, changed 5.12 to 2.12 (#244) Jun 26, 2019
images moved common images to images folder from assets folder Feb 28, 2015
pages Added the feedback page Oct 24, 2014
.gitignore Implementing CI/CD (WIP) (#221) Dec 19, 2018
.travis.yml Fixed travis setup to deploy to and not qmlbook:gh-… Dec 19, 2018 Fixed grammar and spelling in contribution document Sep 28, 2016
LICENSE.code Added BSD license for examples Oct 21, 2014
LICENSE.text Added BSD license for examples Oct 21, 2014
Makefile Implementing CI/CD (WIP) (#221) Dec 19, 2018
QmlBook.sketch Added the missing reference to the objects graphics (triangle, circle… Mar 21, 2016 Qt Quick Controls 2.0 chapter (#203) Dec 25, 2018 Documentation for translation Jun 27, 2018 Updated travis docs to reflect current state Dec 19, 2018
logo.jpg Placeholders for media that is under license review Oct 21, 2014 Added chapter 6 assets and related licensing information. Oct 21, 2014
make.bat Added make.bat (Windows equivalent to Makefile) Oct 21, 2014 Fixed automatically build example tarballs. Jan 14, 2019
qmlbook.qmlproject adapt makefile Jun 21, 2018
requirements.txt Implementing CI/CD (WIP) (#221) Dec 19, 2018 Implementing CI/CD (WIP) (#221) Dec 19, 2018 Fixed travis setup to deploy to and not qmlbook:gh-… Dec 19, 2018

QmlBook Project

Join the chat at Build Status

This is the source code for the QML book contents ( It is licensed under the Creative Commons Attribution-Non Commercial-Share Alike 4.0 license. We hope you enjoy it and we hope it helps you to learn Qt5.

The code examples are licensed under the BSD license.



Ideally you use a python virtual environment and install the dependencies their inside.

cd qmlbook
virtualenv -p python3 venv
source venv/bin/activate

This gives you a clean python3 setup. Now you need to install the dependencies:

source venv/bin/activate
pip install -r requirements.txt

This will install all listed packages from the requirements document.

For rebuilding the documentation we also use a screen shot tool called shorty. It takes a screenshot from a running Qt application. To build it please clone the repo and build the tool with a decent Qt version.

git clone
cd shorty
mkdir build && cd build
qmake .. && make

Make sure shorty is on your search path, when


Simply use the Makefile provided. It supports a number of targets. We regularly build html, singlehtml and latexpdf, so these aught to work out of the box. The resulting files will end up in the _build directory.


Screenshots are used by the screenshots.qml files located inside each chapter directory. This relies on the shorty utility . Simply run to automatically invoke shorty on all screenshots.qml files in the source tree.


We greatly appreciate any contributions to this project. Feel free to submit pull requests with fixes or additional contents. When contributing, please add your name to the list of contributors in the pages/contributors.rst file. Also, if contributing a chapter, add your self as the sectionauthor.

We only accept contributions under a CLA, see This is because we, the original authors, want to ensure that we say yes if approached by someone willing to turn this material into a book made from dead trees.


In general, the text of this book is available under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0. Please refer to LICENSE.text for the actual legaleese wording of the license. This applies to:

  • All rst files.
  • All illustrations appearing in the text.

The examples assoiated with the book are made available under a three clause BSD license, see LICENSE.code for the actual license text. This is to make it possible for readers to take inspiration from, or even copy and paste from the examples without any fear of licensing issues. This applies to:

  • All example source code, i.e. qml-files and js-files used in examples.
  • Graphics used in the examples.


This section lists material that does not fall under the general licensing rules described above. This list is explicit and overrides any other licensing information.

You can’t perform that action at this time.