Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'interfaces': 0.04; 'output': 0.05; 'subject:Python': 0.06; 'linux,': 0.07; 'nicely': 0.07; 'postgresql': 0.07; 'coding,': 0.09; 'similar,': 0.09; 'subject:skip:a 10': 0.09; 'toolkit': 0.09; 'window.': 0.09; 'windows,': 0.09; 'works.': 0.09; 'python': 0.11; 'gui': 0.12; 'builders': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'personally,': 0.16; 'sqlite': 0.16; 'subject:GUI': 0.16; 'wrote:': 0.18; 'app': 0.19; 'drawing': 0.19; 'subject:need': 0.19; 'thu,': 0.19; 'widget': 0.19; 'code,': 0.22; 'programming': 0.22; 'builder': 0.24; 'tells': 0.24; 'looks': 0.24; 'source': 0.25; 'equivalent': 0.26; 'header:In- Reply-To:1': 0.27; 'am,': 0.29; 'generally': 0.29; 'message- id:@mail.gmail.com': 0.30; 'easier': 0.31; 'etc.).': 0.31; 'horizontal': 0.31; 'vertical': 0.31; 'with,': 0.31; 'anyone': 0.31; 'something': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'google': 0.35; 'building': 0.35; 'there': 0.35; 'really': 0.36; 'installing': 0.36; 'entry': 0.36; 'too': 0.37; 'area': 0.37; 'button': 0.38; 'nov': 0.38; 'window': 0.38; 'to:addr:python- list': 0.38; 'does': 0.39; 'though,': 0.39; 'to:addr:python.org': 0.39; 'called': 0.40; 'how': 0.40; 'easy': 0.60; 'access,': 0.60; 'free': 0.61; "you're": 0.61; 'high': 0.63; 'field': 0.63; 'more': 0.64; 'great': 0.65; 'reads': 0.68; 'quality': 0.72; 'effectively,': 0.84; 'hand.': 0.84; 'layout.': 0.84; 'plays': 0.84; 'presumably': 0.84; 'suits': 0.84; 'try,': 0.84; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=uQt7wkz8e6g9CGj0sc8+BaLgYC/Polnd7mwI06NWmaA=; b=ohN8OtIuZ+zab3/Noq6OPJBif4XdVRjhBEevnIZpQSlGpztbbTbipd90dfXnVpeQgB tFI9XFmeVzS41mDSaxNrOsxd2KdiKmpENP5dWvxTYmNNiNJl+OK7DlwA2gf5GjCQShVi PWbCOjFdVKYlrdJbCowi8jGuzlNSnkpKkXD7ADBWiH8WgekyQChiNt/whPxStbL7aSBb sLMgzd0j77y+kFT2wh7VfpTOJzVgH5PatkglmH/ZX+PRsITAMbsm+F/1GnEGtoL2L9nB UP6KgQyHNglMjGV0GFaVHF7ov+dyLhiLuZ9BaUflvONPHiN2pUR9v5PvuR2L50Xgdr/k Y1Vw== MIME-Version: 1.0 X-Received: by 10.68.242.163 with SMTP id wr3mr7502741pbc.84.1385594624843; Wed, 27 Nov 2013 15:23:44 -0800 (PST) In-Reply-To: <52966592$0$3640$426a74cc@news.free.fr> References: <52966592$0$3640$426a74cc@news.free.fr> Date: Thu, 28 Nov 2013 10:23:44 +1100 Subject: Re: Access database - GUI - Python - I need architectural advice From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 39 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1385594628 news.xs4all.nl 15882 [2001:888:2000:d::a6]:35985 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:60648 On Thu, Nov 28, 2013 at 8:35 AM, jm.almeras 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