Skip to content


Repository files navigation

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.