Access database - GUI - Python - I need architectural advice

Chris Angelico rosuav at gmail.com
Thu Nov 28 00:23:44 CET 2013


On Thu, Nov 28, 2013 at 8:35 AM, jm.almeras <jm.almeras at nospam.net> wrote:
> Access, and more generally VB, is excellent for building the GUI (forms,
> widgets etc.). Python is a great for coding, and it comes with high quality
> libraries... Does anyone have any suggestions as to how I can build my
> database app with nice Access-like GUI, and programming with Python ?

If you're working with Python, why work with Access? Use one of the
free databases (eg PostgreSQL if you want something heavy-duty, or
SQLite to avoid installing anything), use a cross-platform GUI toolkit
like Tk (tkinter), GTK, wx (wxPython), or similar, and have your
program not care whether it's on Windows, Linux, or OS/2. (Yeah, you
can support OS/2 if you feel like it!!)

There are GUI builders for several of the toolkits Python supports.
Glade works for GTK, and Google tells me about a thing called wxGlade,
which presumably is the equivalent for wx. Personally, though, I don't
use them; I create my user interfaces in code, which I find easier to
work with. Give 'em a try, but don't be too scared off; it's actually
really easy to create a good cross-platform window with a modern
toolkit. Effectively, what you say is something like:

Give me a window. Lay it out with a vertical box.
Create a scrollable widget
    Put a drawing area into my scrollable widget.
Put the scrollable widget onto the window.
Put an entry field into my window.
Create a horizontal button box.
    Put a button "Hello" into my button box.
    Put a button "Goodbye" into my button box.
Put the button box onto the window.

That's more or less how my GTK window creation works. It reads nicely
in the source code, it looks like the window's layout. Plays well with
source control, too, which a lot of GUI builder output doesn't.

The builders are there if you want them. Try without, try with, see
what suits your hand.

ChrisA



More information about the Python-list mailing list