# plib3-gui /

Filename Size Date modified Message
examples
plib
scripts
96 B
8.0 KB
73.8 KB
18.0 KB
45 B
3.5 KB
4.3 KB
2.0 KB
29.1 KB

# plib3.gui

The PLIB3.GUI package contains a simple GUI application framework with two main features:

• It lets the same high-level code work with a number of different underlying GUI toolkits. Currently supported: Qt 4, PySide, KDE 4, and wxPython. (The original reason for writing this sub-package was that wxWidgets doesn't use Qt and I like the Qt/KDE widgets better, but Qt was not available for Windows and I wanted code that would run cross-platform.) Note that the KDE 4 and wxPython toolkits are untested at this time.
• It allows you to express the layout of your GUI in terms of Python lists and dicts, enabling a much more declarative and easy to read (and maintain) coding style.

Other than selecting the toolkit (which may not be necessary: the main module of the sub-package can 'auto-detect' which toolkit to use--the plib-setup-gui post-install script does most of the work to enable this--so you only need to override if you don't like the default), you should not have to worry about any toolkit internal details; the goal of this sub-package is to make them all look the same to your code.

Note: PLIB3.GUI works with Python 3. If you are using Python 2.7, see the PLIB.GUI package, available at https://bitbucket.org/pdonis/plib-gui.

The setup.py script for PLIB3.GUI uses the setuputils helper module, which helps to automate away much of the boilerplate in Python setup scripts. This module is available as a separate release at https://github.com/pdonis/setuputils3.

## Installation

To install PLIB3.GUI, you can simply run:

## The Zen of PLIB3

There is no single unifying purpose or theme to PLIB3, but like Python itself, it does have a 'Zen' of sorts:

• Express everything possible in terms of built-in Python data structures.
• Once you've expressed it that way, what the code is going to do with it should be obvious.
• Avoid boilerplate code, and boilerplate data. Every piece of data your program needs should have one and only one source.