PyQt MDI Image ViewerΒΆ

Screenshot of PyQt MDI Image Viewer with overlapping windows

This is the documentation for the PyQt based MDI (Multiple Document Interface) Image Viewer which supports optional zooming and panning synchronization of multiple windows. I’ve tested it under Windows XP using ActiveState Python 2.6.4 and PyQt 4.7.7 and PyQt 4.8.

As you can see from the thumbnail images on the right (click the thumbnails to see larger versions), the MDI Image Viewer supports standard tiled or independent subwindows. Each subwindow can be forced to have the same zoom factor and position (helpful when trying to examine the exact changes caused by image processing operations). Alternatively, the subwindows can be scaled independently and show different areas.

Holding down the <Space> key lets you pan a subwindow by dragging the mouse.

Screenshot of PyQt MDI Image Viewer with tiled windows

In and of itself, the MDI Image Viewer is admittedly not particularly useful. It was written mainly as a component for an upcoming image processing application, but also as an exercise in “correct” application development using the following:

Screenshot of PyQt MDI Image Viewer with unsynchronized windows

See the Implementation Notes page for detailed descriptions of the various techniques demonstrated by this project.

Also included is detailed documentation of the Python modules.

You can easily start your own PyQt application by copying the files from the github repository.

For more information, continue on to the complete Documentation.

Download

Current version: 0.1

Get it from github.

Questions? Suggestions?

Send a message to tpgit on GitHub (you have to first create a free account).

You can also open an issue here,

or post a message to the PyQt Mailing List or Qt Mailing List with a subject containing "PyQt MDI Image Viewer".