Chapter 9. Graphics

Naturally, GUI programs contain a large amount of graphics code. By graphics code, we mean low-level graphics drawing code used to create things that go beyond the built-in widgets.

You already know a bit about graphics programming from the tutorial, but there is a lot more to doing it in Qt. In this chapter, you will find sections on animation, printing, basic drawing operations, and advanced drawing with two-dimensional transformations and different coordinate systems. Not all of this will be interesting to you at this time, so read intensively about what you need for your current development project and just skim the remaining sections.


Qt contains a nice little class called QMovie that allows programmers to include small animations in their work with a minimum of fuss.

An animation consists of several pictures, or frames, that are shown in rapid succession. You could simply load the frames into QPixmap objects and show them one after the other, but QMovie does that for you.

While QMovie is designed to be independent from the animation format, it is currently only possible to use animated GIF (if Qt is compiled with GIF support) and MNG (if Qt is compiled with MNG support).[22] You can’t load another animation format like AVI or FLI frame by frame and add these frames to a QMovie object. If you want to play these formats, you can still use QMovie, but you need to write the decoding code yourself. How to do this is beyond the scope of ...

Get Programming with Qt, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.