AVC is a multiplatform, fully automatic, live connection among
graphical interface widgets and application variables for the
python
language.
AVC supports in a uniform way the most popular widget toolkits:
GTK+,
Qt,
Tk,
wxWidgets.
The
Swing
widget toolkit for the
java
environment is also supported via the
jython compiler.
AVC is a python package that can be imported by any python or jython
application.
The display and the control of some application data through
a GUI (Graphical User Interface) is a central problem in GUI programming,
it absorbs a relevant part of the programming effort.
AVC makes
this programming very easy, far more easy than traditional solutions
based on MVC (Model View Controller).
23-Feb-2016: released AVC 0.11.0.
New support for python 3. Now AVC can work with both python 2 and 3 with
the widget tookits that support python 2 and 3: GTK3, Qt4, Tk. Python 3 support
for Swing and Wx toolkits is not yet available at least as debian package.
Thanks to Stephan P. Helma for his code contribution for python 3 support.
- Fully transparent widget-variable connections
- Automatic connection by matching widgets and variables names
- Multiple matching namespaces
- Dynamic connections
- No design pattern, no application redesign, no widget toolkit
dependent code, separation between application logic and GUI.
- Multiple widget toolkits support: GTK+, Qt, Tk, wxWidgets, Swing.
- Full compatibility and support for
Glade,
Qt Designer,
Visual Tcl
and
wxGlade
interface design tools.
- Normal widgets: button, check button, combo box, entry, label,
progress bar, radio button, slider, spin button, status bar,
text view/edit, toggle button.
- Advanced widgets: calendar, color selection, list view, tree view.
- Normal variable types: boolean, integer, float, string, list, tuple.
- Advanced variable types: date tuple/list, color tuple/list, 2D table
(list of lists), hierarchical tree (dictionary with path of values inside
tree as keys).
- Multiple widgets to one variable connection
- Dual update timing of variable value views: immediate or periodic.
- Testing printout logging activity with selectable verbosity
- Python package written in pure python
- Free software (
GNU GPL license
)