The QML Presentation System

The QML Presentation System

By Jeff Tranter

With Qt Developer Days 2013 rapidly approaching, a number of Qt developers are busy preparing presentations for the conference, myself included. I thought it would be timely to give an overview of the QML Presentation System.


The QML Presentation System is a QML-based piece of software that allows you to quickly write presentations in the QML language and display them on any desktop system that supports Qt 5.


The software is hosted at here. You can check out the code from git by running

git clone

Once you have the source, it can be built by running qmake and then make install. You may need to be running as the root user on Linux systems, depending on where Qt is installed. The software is written entirely in QML. See the included README file for the latest build and installation instructions.

Using It

It comes with some examples. I suggest you start with the basic one, examples/tutorial/SlideDeck.qml. To run it, like any presentation written using the system, just invoke it using the qmlscene program. Below is a screen shot of the example running:

The QML Presentation System

The QML elements provided for presentations are very simple and the tutorial example should be enough to get you going. While it looks simple, you have all the capabilities of the full QML language available for implementing your presentations.

You can navigate using a mouse. The left button moves to the next slide and the right button to the previous slide. On a touchscreen, a touch moves to the next slide while press and hold moves to the previous one. Several keyboard commands are also supported. Pressing <space>, <right cursor> or <down cursor> advances to the next slide. Pressing <backspace>, <left cursor> or <up cursor> advances to the previous slide. Hitting <Esc> will quit the program and key <C> will cause the slide to fade to black, which is convenient when answering questions. Pressing it again will restore the slide. If you enter a number followed by <Return>, the presentation will advance to the appropriately numbered slide.

Additional examples can be found under the examples directory. These show how to do transitions, animations and display a separate window for speaker's notes.

The default size of a presentation is defined into the presentation's QML file. You can pass the --fullscreen command line option to the qmlviewer program to show a presentation in full screen mode.

As a final example, below are two slides from a presentation I am preparing for a lightning talk at Qt Developer Days:


In the directory tools/printslides, there is a small utility that will generate a PDF file from your slide deck to facilitate viewing or printing.


If you want to put together a presentation with reasonably modest requirements and perhaps want to showcase the use of QML, consider using the QML Presentation System.

Feel free to help contribute new features to the software. Personally, what I would like to see is a converter to and from LibreOffice Impress format so that standard presentation files could be imported and exported.