Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 26 - 50 of 72 - Collapse all  -  Translate all to Translated (View all originals) < Older  Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Wolfgang Keller  
View profile  
 More options Jun 11 2012, 7:55 am
Newsgroups: comp.lang.python
From: Wolfgang Keller <felip...@gmx.net>
Date: Mon, 11 Jun 2012 13:55:51 +0200
Local: Mon, Jun 11 2012 7:55 am
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

> > What "GUI designer" would come the closest to the way that Cocoa's
> > Interface Builder works? I.e. is there any one (cross-platform) that
> > allows to actually "connect" the GUI created directly to the code
> > and make it available "live" in an IDE?

> > This whole cycle of "design GUI"->"generate code"->add own code to
> > generated code"->"run application with GUI" has always seemed very
> > un-pythonic to me. A dynamic, interpreted language should allow to
> > work in a more "lively", "direct" way to build a GUI.

> I'm curious about your point but I don't really understand it.  Could
> you try again without using any scare-quoted words?

myidea.explanation.retry()

Python has this insanely great thing that e.g. Delphi, Java, C#, Visual
Basic, etc. lack and that's called an interactive commandline
interpreter, which allows you to build GUIs while exploring/trying out
the API of a GUI framework step by step. You simply type the code for
the GUI at the python prompt and your GUI comes directly to life.
Here's an example by someone else:

http://pysnippet.blogspot.de/2010/11/getting-interactive-with-pyqt.html

Now "just" (sorry for those quotes again) imagine a GUI builder that
generates _and_ _runs_ the code (pyqt, wxpython, pygtk, whatever) for
the GUI you edit _while_ you do so.

And now imagine that this GUI builder would be integrated with the IDE
you use (I use one), so that the GUI code is run in the same
interpreter instance as the other code of your application. So that you
can directly interact with your application through the GUI you build
while you do so.

The advantage of using a GUI builder over typing the code into the
interpreter window would be that users who rarely implement a GUI(*)
would not need to re-dig into the details of the API every time. This is
especially tedious since those APIs are essentially C++ APIs wrapped
in Python and thus they are honestly simply §$%&@# to use for a certain
type of Python user(*). And the lack of Python-specific documentation,
tutorials etc. doesn't really help. Did I mention yet that just having
to read C++ example code in documentation makes me spill my last meal
over keyboard, screen etc.?

Of course there's PyGUI, but that's unfortunately far from being as
complete as PyQt or wxPython and unless someone creates something like
an equivalent of Apache Software Foundation for Python, declares PyGUI
as the canonical Python GUI framework and funds the work needed to
complete it... And then you still need a GUI builder for it. *sigh*

> Maybe given an example of creating a small text editor application
> with a GUI builder/ IDE in this Pythonic way you are hoping for.

I'm not into text editors as example applications since I don't
develop text editors, I rarely even use one. And besides, I don't think
any typical user(*) of such a GUI builder would ever implement a text
editor in his whole life.

Personally, my typical use of such a GUI builder would be for database
applications. Which make up, according to my experience, for at least
90% of all custom-built applications in companies. Today, these
applications have to be made by external, paid developers who have
typically no clue of the application domain in question. Consequently,
the applications, no matter how many pages of detailed specifications
you as the domain expert write, never do what you wanted them to do.
Although just writing the specification takes more time than it would
take to implement it myself if only the (GUI) tools and (GUI)
frameworks(**) for Python would be at the level required to make them
useful for such "developers" as me(*). And did I mention that the cost
of external developers (plus the overhead cost for interaction with
them) makes them prohibitive anyway? And did I mention that the time
required such external development (plus the overhead time for
interaction with the external developers) takes doesn't help either?

* Such as "casual" Python scripting dilettants who are not full-time
software developers but domain experts who just use Python to help get
their main work done.

** In my case of database applications, something like this:
http://www.nakedobjects.org/book/
http://www.nakedobjects.org/downloads/Pawson%20thesis.pdf

Sincerely,

Wolfgang


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Wolfgang Keller  
View profile  
 More options Jun 11 2012, 8:01 am
Newsgroups: comp.lang.python
From: Wolfgang Keller <felip...@gmx.net>
Date: Mon, 11 Jun 2012 14:01:16 +0200
Local: Mon, Jun 11 2012 8:01 am
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

> > What "GUI designer" would come the closest to the way that Cocoa's
> > Interface Builder works? I.e. is there any one (cross-platform) that
> > allows to actually "connect" the GUI created directly to the code
> > and make it available "live" in an IDE?

> If you're developing on the Mac, PyObjC allows you to use Interface
> Builder for developing Python apps.

I know that. And no, I haven't used Interface Builder yet myself, just
because I would need those GUIs also to run elsewhere than on my
private Mac.

> However, there are those of us who are deeply uncomfortable with IB
> and related tools, such as RealBasic and LiveCode/Runtime Revolution.

I haven't used any of these either, just because I don't like those
languages. Their syntax is ugly, static type declarations are imho
perfectly redundant for interpreted languages and besides they don't
offer me an interactive interpreter, which is an absolute must-have for
my day-to-day use of Python - "office automation", ad-hoc "information
logistics" etc. (errr, sorry for those quotation marks again... ;-).

> These tools make code organization very hard by reducing the amount
> of code written to the point of the UI working by "magic,"

Any modern GUI framework has quite a lot of "magic" going on
"behind the curtains" without that the user needs to know or understand
how it works. And this is the way it _should_ be. As long as it is well
documented how to use that "magic".

The current GUI frameworks which are available for Python require way
too much "glue code" that needs to be written by hand, imho simply
because they are primitive wrappers around frameworks for C++
developers who are used to such bulkloads of slave labour. Python as a
language is way ahead of C++, Java, C# etc. in terms of functionality
that you can implement per coding effort required , but it simply lacks
GUI frameworks and corresponding development tools that are equally
efficient.

> and/or by breaking up your code into little snippets that you can
> only view by clicking on the widget in the UI tool.

I remember reading about RAD IDEs/frameworks out there that managed to
integrate/seperate their generated code with/from user-written code
quite well. And which could even use external revision control systems
etc.. Back in the good old days of software diversity, before MS/Java
took over the whole world...

> A related issue is that using a tool such as this makes you heavily
> dependent on that particular tool, and subject to its developers'
> priorities, release schedule, and bugs.

This is true with _any_ language, library, framework or software. Heck,
it's even true with hardware! If this was such a show-stopper, we would
still write computer programs like this: 0100011100101010101....
Well, certainly not me, in that case.

> The pace of Xcode development--with Apple making frequent changes to
> project formats in a backwards-incompatible way--is an example of
> this.

Wxwidgets/python has a reputation for frequent incompatible API changes,
too...

And Apple's "product politics", oh, well, errr, uhm, don't get me into
that... *sigh*. If only all those third-party applications for MacOS X
were available on Linux, I would happily forget about Apple's very
existence.

> One reason I prefer to code UI's by hand is because a) in Tkinter
> it's very easy to do,

Tkinter is imho honestly the very best "argument" if you want to make
potential new users turn their backs away from Python for good. Just
show them one GUI implemented with it and, hey, wait, where are you
running to...

> I think these issues are a reason that the slick "drag-and-drop" UI
> builders tend to be developed by commercial software shops to support
> their language and/or IDE, but find little traction among open-source
> developers and languages.

The point is that loads of potential "developers"(*) simply don't
ever get to use Python due to the very lack of such tools (and
corresponding frameworks).

* Domain experts in fact who would need to implement loads of
software to help them get their work done but can't. And since there's
no budget for external developers, nothing get's ever done about this.

Sincerely,

Wolfgang


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kevin Walzer  
View profile  
 More options Jun 11 2012, 8:47 am
Newsgroups: comp.lang.python
From: Kevin Walzer <k...@codebykevin.com>
Date: Mon, 11 Jun 2012 08:47:05 -0400
Local: Mon, Jun 11 2012 8:47 am
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
On 6/11/12 8:01 AM, Wolfgang Keller wrote:

> Tkinter is imho honestly the very best "argument" if you want to make
> potential new users turn their backs away from Python for good. Just
> show them one GUI implemented with it and, hey, wait, where are you
> running to...

Yes, Tkinter GUI's are very ugly.

http://www.codebykevin.com/phynchronicity-running.png

http://www.codebykevin.com/quickwho-main.png

--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Roseman  
View profile  
 More options Jun 11 2012, 10:09 am
Newsgroups: comp.lang.python
From: Mark Roseman <m...@markroseman.com>
Date: Mon, 11 Jun 2012 08:09:23 -0600
Local: Mon, Jun 11 2012 10:09 am
Subject: Re: Pythonic cross-platform GUI desingers la Interface Builder (Re: what gui designer is everyone using)
 Dietmar Schwertberger <n...@schwertberger.de> wrote:

> But the fact that Tkinter is still the standard GUI toolkit tells a lot
> about the situation...
>  ...
> Sure, I know how to code GUIs. But the learning curve is too steep
> for new users wanting to implement simple GUIs.

As is obvious to everybody, the massive interest in web-based
applications in recent years has certainly not helped advance the state
of the art in desktop GUI's, nor enlarged the developer population
actively engaged in maintaining and improving desktop GUI toolkits.  

Given that, we're likely "stuck" with more or less what we have now, so
let's make the best of it.

On the Tkinter front, I just want to reiterate two important points that
are not nearly as well known as they should be.

First, it is possible and in fact easy to do decent looking GUI's in
Tkinter, with the caveat that you do in fact have to do things very
slightly differently than you would have 15 years ago. Shocking, I know.

Second, there does exist at least one fairly good source of
documentation for new users wishing to do exactly this (according to
many, many comments I have received), though that documentation is
admittedly buried in a sea of out-of-date information that is still all
too easy to find.

Please see http://www.tkdocs.com and in particular the tutorial there.

Mark


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Anssi Saari  
View profile  
 More options Jun 11 2012, 10:14 am
Newsgroups: comp.lang.python
From: Anssi Saari <a...@sci.fi>
Date: Mon, 11 Jun 2012 17:14:52 +0300
Local: Mon, Jun 11 2012 10:14 am
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

Wolfgang Keller <felip...@gmx.net> writes:
> This whole cycle of "design GUI"->"generate code"->add own code to
> generated code"->"run application with GUI" has always seemed very
> un-pythonic to me. A dynamic, interpreted language should allow to work
> in a more "lively", "direct" way to build a GUI.

What about Qt Quick? I have used it very little, but it does allow
dynamic modification of the GUI elements so that the application
changes on the fly. I don't know how pythonic it is, since the GUI is
described in QML, which combines CSS and javascript.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dietmar Schwertberger  
View profile  
 More options Jun 11 2012, 6:49 pm
Newsgroups: comp.lang.python
From: Dietmar Schwertberger <n...@schwertberger.de>
Date: Tue, 12 Jun 2012 00:49:18 +0200
Local: Mon, Jun 11 2012 6:49 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
Am 11.06.2012 06:05, schrieb rusi:
> If python is really a "language maven's" language then it does not do
> very well:
> - its not as object-oriented as Ruby (or other arcana like Eiffel)
> - its not as functional as Haskell
> - its not as integrable as Lua
> - its not as close-to-bare-metal as C
> - etc

Depends on the definition. Maybe, that Python is not a perfect
language from an academic point of view, but it's a good choice
for anyone looking for a pragmatic programming language.

> Then why is it up-there among our most popular languages? Because of
> the 'batteries included.'

It's not only the batteries, but also the language itself.
As someone wrote a long time ago "Python fits my brain".

> And not having a good gui-builder is a battery (cell?) that is
> lacking.

It's a cell that would make it much easier to compete with other
languages/environments.
These environments need not necessarily be classical programming
language, but could also be Labview, Matlab etc.

And regarding popularity, I see very much potential.
I have been working for two high-tech companies and I have never
met anyone else using Python there.
Focus is not classical databases, but data acquisition and processing.
Many are still using VB, some are even using HT/HP-BASIC.
Quite a lot moved to Labview, some are using Matlab or thinking
about moving to it.
The ones who actually see the point the advantages of a general
purpose language moved to C#.
(Nobody is using Java in this context as it obviously would not make
any sense.)

Anyway, I don't see how people could be persuaded to use a
console-only environment, which - realistically - Python is at the
moment for most people.

 From what I see, Python is recognized as a language for scripting
and maybe for web servers, but not as a general purpose language to
implement GUI software.

(To make it clear: I have been using Python as a general purpose
  language for many years.)

Regards,

Dietmar


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dietmar Schwertberger  
View profile  
 More options Jun 11 2012, 6:55 pm
Newsgroups: comp.lang.python
From: Dietmar Schwertberger <n...@schwertberger.de>
Date: Tue, 12 Jun 2012 00:55:38 +0200
Local: Mon, Jun 11 2012 6:55 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
Am 11.06.2012 14:01, schrieb Wolfgang Keller:
> * Domain experts in fact who would need to implement loads of
> software to help them get their work done but can't. And since there's
> no budget for external developers, nothing get's ever done about this.

Well, typically or at least very often sooner or later something
gets done about this as someone finds out that all could be solved
using MS Excel and some macros / VBA programming.

I would prefer people to invest the same time into a Python based
solution.
But then we're back to the initial point: As long as there's no GUI
builder for Python, most people will stick to Excel / VBA / VB.

Regards,

Dietmar


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dietmar Schwertberger  
View profile  
 More options Jun 11 2012, 7:04 pm
Newsgroups: comp.lang.python
From: Dietmar Schwertberger <n...@schwertberger.de>
Date: Tue, 12 Jun 2012 01:04:27 +0200
Local: Mon, Jun 11 2012 7:04 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
Am 11.06.2012 16:14, schrieb Anssi Saari:
> Wolfgang Keller<felip...@gmx.net>  writes:

>> This whole cycle of "design GUI"->"generate code"->add own code to
>> generated code"->"run application with GUI" has always seemed very
>> un-pythonic to me. A dynamic, interpreted language should allow to work
>> in a more "lively", "direct" way to build a GUI.

> What about Qt Quick? I have used it very little, but it does allow
> dynamic modification of the GUI elements so that the application
> changes on the fly. I don't know how pythonic it is, since the GUI is
> described in QML, which combines CSS and javascript.

I have been following the Qt development as I have been using PySide
for some small projects on the Maemo platform.
Qt Quick / QML seems to enable the implementation of so-called "modern"
UIs.
It's more for people who think that HTML5/CSS/Javascript is the future
for UIs.
Well, maybe they are right for certain advanced requirements.
But for the beginner I don't see how it would help as it's even more
difficult to link the GUI to the backend code and also I don't see
how having to deal with multiple environments would make things easier.
I think that for beginners some basic controls are fine enough and
there's no need to care for fancy effects for the most non-consumer
applications.

For getting an impression about Qt Quick, have a look at
http://qt.nokia.com/qtquick/
(The slide show 1,2,3,...)

Regards,

Dietmar


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rick Johnson  
View profile  
 More options Jun 11 2012, 9:21 pm
Newsgroups: comp.lang.python
From: Rick Johnson <rantingrickjohn...@gmail.com>
Date: Mon, 11 Jun 2012 18:21:26 -0700 (PDT)
Local: Mon, Jun 11 2012 9:21 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
On Jun 10, 11:05 pm, rusi <rustompm...@gmail.com> wrote:

> If python is really a "language maven's" language then it does not do
> very well:
> - its not as object-oriented as Ruby (or other arcana like Eiffel)

if it were object-oreiented as Ruby, then why not use Ruby?

> - its not as functional as Haskell

if it were as functional as Haskell, then why not use Haskell?

> - its not as integrable as Lua

if it were as integrable as Lua, then why not use Lua?

> - its not as close-to-bare-metal as C

if it were as asinine as C, then why not use C?

> - etc

exactly!

> Then why is it up-there among our most popular languages? Because of
> the 'batteries included.'

No. It's up there because it does not FORCE you to program in a single
paradigm. Look. I love OOP. It works well for so many problems -- but
not for ALL problems! I like the freedom i have when using Python. I
don't get that feeling anywhere else.

> And not having a good gui-builder is a battery (cell?) that is
> lacking.

Nonsense. I'm not saying we should NEVER have a visual gui builder,
no,  but i am saying that we don't need one to be a great language.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rick Johnson  
View profile  
 More options Jun 11 2012, 9:37 pm
Newsgroups: comp.lang.python
From: Rick Johnson <rantingrickjohn...@gmail.com>
Date: Mon, 11 Jun 2012 18:37:39 -0700 (PDT)
Local: Mon, Jun 11 2012 9:37 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
On Jun 11, 9:09 am, Mark Roseman <m...@markroseman.com> wrote:

> Second, there does exist at least one fairly good source of
> documentation for new users wishing to do exactly this (according to
> many, many comments I have received), though that documentation is
> admittedly buried in a sea of out-of-date information that is still all
> too easy to find.

Well you Mark you have really hit it this time.

 * Outdated tuts are contributing to the slow adoption of Python3000
 * Outdated tuts are contributing the animosity towards Tkinter.
 * Poorly written tuts are doing even more damage.

I have pointed this out before with very little feedback from our
community members. So you know what i did... about two years ago i
start a quest to rid the WWW of old and outdated tutorials. I send out
email after email; begging; pleading, and yes even brown-nosing!...
and you know how many reposes i got? Three! Yes three! And one of the
three told me to eef-off.

The other two chaps not only updated their tutorials, they even sent
me a nice Thank you letter. Oh. And the one who told me to eff-off, he
re-read my email and decided he took it out of context and then he
updated his tut also.

You see. If "I", or me rather, the despised and hated "rantingrick"
can inspire three people to contribute positively to this community,
well, just imagine what you or *gasps* GvR could do! Is any heavy
weight willing to step forward and be heard? What say you? The silence
is deafening.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Chris Angelico  
View profile  
 More options Jun 9 2012, 1:19 pm
Newsgroups: comp.lang.python
From: Chris Angelico <ros...@gmail.com>
Date: Sun, 10 Jun 2012 03:19:09 +1000
Local: Sat, Jun 9 2012 1:19 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
On Sun, Jun 10, 2012 at 3:07 AM, Dietmar Schwertberger

<n...@schwertberger.de> wrote:
> None of these were such that I could propagate it as GUI development
> tool for non-programmers / casual users.
> Sure, some are good for designing the GUI, but at the point where
> the user code is to be added, most people would be lost.

There was a time when that was a highly advertisable feature - "build
XYZ applications without writing a single line of code!". I've seen it
in database front-end builders as well as GUI tools, same thing. But
those sorts of tools tend not to be what experts want to use. You end
up having to un-learn the "easy way" before you learn the "hard way"
that lets you do everything.

You refer to "non-programmers" and then point out that they would be
lost trying to add code. That's a natural consequence of not being a
programmer, and of all languages to help someone bridge that gap and
start coding, I would say Python is, if not the absolute best,
certainly up there somewhere. Just as you wouldn't expect a music
authoring program to let someone publish score without knowing how to
compose music, you can't expect a GUI tool to relieve you of the need
to write code.

WYSIWYG UI designers suffer badly from a need to guess _why_ the human
did what s/he did. Build your UI manually, and there's no guesswork -
you explicitly _tell_ the computer what to do and why.

ChrisA


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mark Lawrence  
View profile  
 More options Jun 11 2012, 9:31 am
Newsgroups: comp.lang.python
From: Mark Lawrence <breamore...@yahoo.co.uk>
Date: Mon, 11 Jun 2012 14:31:08 +0100
Local: Mon, Jun 11 2012 9:31 am
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
On 11/06/2012 13:47, Kevin Walzer wrote:

At last we're getting to the crux of the matter.  Provided that the GUI
is pretty who cares about picking appropriate algorithms for the code,
or a sensible database design or whatever.  And heaven forbid that
anyone suggest using a command line even if this was the better solution
for the problem that the user wants solved.

--
Cheers.

Mark Lawrence.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Chris Angelico  
View profile  
 More options Jun 9 2012, 11:50 am
Newsgroups: comp.lang.python
From: Chris Angelico <ros...@gmail.com>
Date: Sun, 10 Jun 2012 01:50:52 +1000
Local: Sat, Jun 9 2012 11:50 am
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
On Sat, Jun 9, 2012 at 11:25 PM, Dietmar Schwertberger

<n...@schwertberger.de> wrote:
> ... for many purposes only simple GUIs are required
> and it should be possible to create these without studying manuals
> (on toolkit and GUI editor).
> A typical simple GUI would e.g. be for a measurement / data aquisition
> program, where you just need some buttons and fields.

> If you have not used VB before, you should just try it. You can create
> GUIs within a few minutes even if you haven't used it before.
> (Sure, the fact that anyone can use it has the side effect that most
>  of these GUIs are not good...)

There's an assumption in most of the Windows world that everything
needs a GUI. For a simple data acquisition program, I wouldn't use one
- I'd have it run in a console. That's something that any programmer
should be able to create without studying complex manuals; all you
need to know is the basics of I/O and possibly argument parsing.

I've used Visual Basic. My first salaried work was on VB. Making it
easy to throw together a simple GUI doesn't mean a thing when you have
a large project to write - your business logic and UI design work will
massively dwarf the effort of actually throwing widgets into a
hierarchy. So the only time it's going to be an issue is with trivial
programs; which means there isn't much to be saved. Just make your
trivial things run in a console, and then either use a GUI builder
(several have been mentioned) or hand-write your UI code.

Actually, there's a third option these days. Give it no console and no
GUI, make it respond to HTTP connections, and use a web browser as
your UI. :)

ChrisA


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Chris Angelico  
View profile  
 More options Jun 10 2012, 7:15 pm
Newsgroups: comp.lang.python
From: Chris Angelico <ros...@gmail.com>
Date: Mon, 11 Jun 2012 09:15:49 +1000
Local: Sun, Jun 10 2012 7:15 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
On Mon, Jun 11, 2012 at 5:37 AM, Dietmar Schwertberger

Either these people know how to write code, or they don't. If they do,
then building a simple GUI shouldn't be beyond them; if they don't
know that much code, then anything more than trivial _will_ be beyond
them. Here's the window building code from something I just knocked
together, with all comments stripped out:

        object mainwindow=GTK2.Window(GTK2.WindowToplevel);
        mainwindow->set_title("Timing")->set_default_size(400,300)->signal_connect( "destroy",window_destroy);
        GTK2.HbuttonBox btns=GTK2.HbuttonBox()->set_layout(GTK2.BUTTONBOX_SPREAD);
        foreach (labels,string lbl)
                btns->add(buttons[lbl]=button(lbl,mode_change));
        mainwindow->add(GTK2.Vbox(0,0)

->add(GTK2.TextView(buffer=GTK2.TextBuffer())->set_size_request(0,0))
                ->pack_start(btns,0,0,0))->show_all();

If you're a complete non-programmer, then of course that's an opaque
block of text. But to a programmer, it ought to be fairly readable -
it says what it does. I'm confident that anyone who's built a GUI
should be able to figure out what that's going to create, even if
you've never used GTK before. (And yes, it's not Python. Sorry. I
don't have a Python example handy.)

Modern UI toolkits are generally not that difficult to use. Add just a
few convenience functions (you'll see a call to a "button" function in
the above code - it creates a GTK2.Button, sets it up, and returns
it), and make a nice, well-commented configuration file that just
happens to be executed as Python, and you've made it pretty possible
for a non-programmer to knock together a GUI. They'll have learned to
write code without, perhaps, even realizing it.

ChrisA


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Arnaud Delobelle  
View profile  
 More options Jun 10 2012, 6:36 am
Newsgroups: comp.lang.python
From: Arnaud Delobelle <arno...@gmail.com>
Date: Sun, 10 Jun 2012 11:36:07 +0100
Local: Sun, Jun 10 2012 6:36 am
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
On 10 June 2012 07:16, rusi <rustompm...@gmail.com> wrote:

> This is worth a read in this context: http://osteele.com/archives/2004/11/ides

Interesting! I definitely fall nicely at one extreme of this
dichotomy.  Every time I've tried to use an IDE, it's made me feel
inadequate and I've quickly retreated to my comfort zone (emacs +
xterm).  I felt inadequate because I felt like the IDE was hindering
me rather than helping me.  All I ask from the program that I use to
write code is:

* syntax highlighting
* sensible auto-indenting
* as little reliance on the mouse as possible
* emacs key bindings :)

This article makes me feel more positive about my inability to feel
comfortable in an IDE.  Thanks for the link!

--
Arnaud


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dietmar Schwertberger  
View profile  
 More options Jun 11 2012, 7:32 pm
Newsgroups: comp.lang.python
From: Dietmar Schwertberger <maill...@schwertberger.de>
Date: Tue, 12 Jun 2012 01:32:17 +0200
Local: Mon, Jun 11 2012 7:32 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
Am 11.06.2012 01:15, schrieb Chris Angelico:
> If you're a complete non-programmer, then of course that's an opaque
> block of text. But to a programmer, it ought to be fairly readable -

Well, I can read the code.
But still I would not be able (or interested) to write C++/GTK code.
With my rusty C++ knowledge and a simple GUI builder, I might be able
to create the GUI, though.
Whether I could then connect the events to actions is a different
question and depends on the GUI builder. If it does not support this,
then I would just not write the software.

That's the starting point of this thread: for Python we could not
identify such a GUI editor.

> it says what it does. I'm confident that anyone who's built a GUI
> should be able to figure out what that's going to create, even if
> you've never used GTK before. (And yes, it's not Python. Sorry. I
> don't have a Python example handy.)

All the discussion about casual users being able to implement GUIs by
manually coding it is somehow based on the assumption that suitable
examples for any purpose are available.
So to me the above example seems to be the proof that suitable examples
are not available easily.

> Modern UI toolkits are generally not that difficult to use. Add just a
> few convenience functions (you'll see a call to a "button" function in
> the above code - it creates a GTK2.Button, sets it up, and returns
> it), and make a nice, well-commented configuration file that just
> happens to be executed as Python, and you've made it pretty possible
> for a non-programmer to knock together a GUI. They'll have learned to
> write code without, perhaps, even realizing it.

Right, they are not too difficult to use for full-time programmers
or for people who want to invest a lot of time (as hobbyist).
But there are many people who just need to get things done and who
don't want to invest too many time on a simple GUI.

No matter how cool it may seem to create simple GUIs manually or to
write business letters using LaTeX: just try to persuade people to move
from Word to LaTeX for business letters...

Regards,

Dietmar


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dietmar Schwertberger  
View profile  
 More options Jun 10 2012, 3:37 pm
Newsgroups: comp.lang.python
From: Dietmar Schwertberger <maill...@schwertberger.de>
Date: Sun, 10 Jun 2012 21:37:01 +0200
Local: Sun, Jun 10 2012 3:37 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
(Sorry for posting without references to the previous messages, but it
  seems that many messages don't get through to the nntp server that I'm
  using.)

Chris Angelico wrote (in two posts):
 > There was a time when that was a highly advertisable feature - "build
 > XYZ applications without writing a single line of code!". I've seen it
 > in database front-end builders as well as GUI tools, same thing. But
 > those sorts of tools tend not to be what experts want to use. You end
 > up having to un-learn the "easy way" before you learn the "hard way"
 > that lets you do everything.
This time is not over.
Especially when you look at data acquisition and control applications
where tools like Labview are widely used.
Personally, I would not want to use such tools as I find it quite
complicated to implement any logic with a graphical editor.
But when you want to sell an alternative to such tools, then you
should not offer a tool which makes it almost impossible for a
typical engineer to create a simple GUI.

 > You refer to "non-programmers" and then point out that they would be
 > lost trying to add code. That's a natural consequence of not being a
 > programmer,
Sure, but with "non-programmers" I'm referring to typical engineers
who can implement some basic programs for measurement, control or
data processing.

 >  and of all languages to help someone bridge that gap and
 > start coding, I would say Python is, if not the absolute best,
 > certainly up there somewhere. Just as you wouldn't expect a music
100% agreed. It's the only programming language that I can recommend
to casual or even non-programmers, but only as long as he/she's not
interested in GUI programming.

 > authoring program to let someone publish score without knowing how to
 > compose music, you can't expect a GUI tool to relieve you of the need
 > to write code.
The audience of GUI editors is not the artist / professional...

 > WYSIWYG UI designers suffer badly from a need to guess _why_ the human
 > did what s/he did. Build your UI manually, and there's no guesswork -
 > you explicitly _tell_ the computer what to do and why.
True for non-trivial applications. I don't have many windows and dialogs
that could have been created using a GUI editor in my main wxPython
based application.
But even then: I've learned wxPython from looking at the code that
wxDesigner created. Of course, that was in 1999/2000 when no books on
such matters were available.

 > There's an assumption in most of the Windows world that everything
 > needs a GUI. For a simple data acquisition program, I wouldn't use one
 > - I'd have it run in a console. That's something that any programmer
 > should be able to create without studying complex manuals; all you
 > need to know is the basics of I/O and possibly argument parsing.
Yes, usually I'm using a console as most measurement programs are quite
straighforward and linear.
But I don't see a way to convince people to go back to the console.
They will always want to implement a basic GUI for one or the other
program and then they will end up frustrated...
(Or I have to implement the GUI for them, which is not an option.)

 > I've used Visual Basic. My first salaried work was on VB. Making it
 > easy to throw together a simple GUI doesn't mean a thing when you have
 > a large project to write - your business logic and UI design work will
I would never consider or recommend to write anything significant using
a GUI builder. Also, I would never recommend anyone to use VB at all.
But given the lack of alternatives, it still has a significant market
share.
(The fact that anyone can hack together a program in VB has the side-
effect that most programs are not very good...)

 > massively dwarf the effort of actually throwing widgets into a
 > hierarchy. So the only time it's going to be an issue is with trivial
 > programs; which means there isn't much to be saved. Just make your
 > trivial things run in a console, and then either use a GUI builder
 > (several have been mentioned) or hand-write your UI code.
Right, we're talking about non-trivial programs with almost trivial
user interfaces. But I don't see a Python GUI builder which a casual
user could use to add a GUI to the code.
(To be exact: it's easy to create a GUI with one or the other builder,
but non-trivial to connect it to the backend.)

 > Actually, there's a third option these days. Give it no console and no
 > GUI, make it respond to HTTP connections, and use a web browser as
 > your UI. :)
I don't think that this is easier for the casual user as multiple
languages and environments are involved.
But on the other hand there are some (mainly commercial) organizations
who believe that HTML5, CSS and Javascript are the future for GUI
programming.
Personally, I prefer Python with console, wx or Qt for local
applications and Python/HTTP/HTML/Javascript for multi-user
database applications.

Regards,

Dietmar


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dietmar Schwertberger  
View profile  
 More options Jun 11 2012, 7:15 pm
Newsgroups: comp.lang.python
From: Dietmar Schwertberger <maill...@schwertberger.de>
Date: Tue, 12 Jun 2012 01:15:00 +0200
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
Am 11.06.2012 16:09, schrieb Mark Roseman:
 > On the Tkinter front, I just want to reiterate two important points that
 > are not nearly as well known as they should be.
 >
 > First, it is possible and in fact easy to do decent looking GUI's in
 > Tkinter, with the caveat that you do in fact have to do things very
 > slightly differently than you would have 15 years ago. Shocking, I know.
Yes, but when I have the choice between Tkinter, Qt and wx, I still
would go for wx or Qt (or stick to wx which I chose 12 years ago).
I don't see the point of chosing Tkinter over the other toolkits.

 > Second, there does exist at least one fairly good source of
 > documentation for new users wishing to do exactly this (according to
 > many, many comments I have received), though that documentation is
 > admittedly buried in a sea of out-of-date information that is still all
 > too easy to find.
 >
 > Please see http://www.tkdocs.com and in particular the tutorial there.
The point of this thread is that Python is not attractive to casual
users who want to implement some GUI programs.
I don't see how that would change without an easy-to-use GUI builder,
no matter how good the documentation is.
Of course, it's possible to split up the documentation into many small
building blocks which the user could copy & paste together.
But then we have a poor-man's GUI builder. I doubt that it would
attract new users.

(For more straightforward tasks like hardware control / data
  acquisition I made good experiences with a Wiki-based approach
  of providing snippets. But *simple* GUIs are mainly visual and
  there should be a way to create them visually without consulting
  much documentation.)

Regards,

Dietmar


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
CM  
View profile  
 More options Jun 12 2012, 2:48 pm
Newsgroups: comp.lang.python
From: CM <cmpyt...@gmail.com>
Date: Tue, 12 Jun 2012 11:48:32 -0700 (PDT)
Local: Tues, Jun 12 2012 2:48 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
On Jun 11, 6:55 pm, Dietmar Schwertberger <n...@schwertberger.de>
wrote:

> But then we're back to the initial point: As long as there's no GUI
> builder for Python, most people will stick to Excel / VBA / VB.

Then good thing there *are* GUI builder/IDEs for Python, one of which
was good enough for me to take me from essentially zero modern
programming experience to a sizable (> ~15k LOC) application.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
rdst...@mac.com  
View profile  
 More options Jun 12 2012, 5:19 pm
Newsgroups: comp.lang.python
From: rdst...@mac.com
Date: Tue, 12 Jun 2012 14:19:57 -0700 (PDT)
Local: Tues, Jun 12 2012 5:19 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)
On Jun 10, 12:37 pm, Dietmar Schwertberger <maill...@schwertberger.de>
wrote:

> Personally, I prefer Python with console, wx or Qt for local
> applications and Python/HTTP/HTML/Javascript for multi-user
> database applications.

> Regards,

> Dietmar

+1

I think this is the wave of the furture for deploying simple programs
to many users. It is almost 100% cross platform (can be used on
desktop, smartphone, tablet, windows, linux, mac etc) and is very easy
to do, even for casual "non-programmers" who do a little programming
(such as many engineers).

I think efforts to make a better, and more definitive, "GUI builder"
for Python should focus on makigng an easy to use "IDE" for creating
these kinds of Python-HTMl-Javascript front ends for applications.

*That* would really help Python's popularity to take off and expode.

Ron Stephens


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Wolfgang Keller  
View profile  
 More options Jun 13 2012, 8:26 am
Newsgroups: comp.lang.python
From: Wolfgang Keller <felip...@gmx.net>
Date: Wed, 13 Jun 2012 14:26:29 +0200
Local: Wed, Jun 13 2012 8:26 am
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

> > * Domain experts in fact who would need to implement loads of
> > software to help them get their work done but can't. And since
> > there's no budget for external developers, nothing get's ever done
> > about this.
> Well, typically or at least very often sooner or later something
> gets done about this as someone finds out that all could be solved
> using MS Excel and some macros / VBA programming.

MS Excel is unusable for any kind of serious work, due its serious
design deficiences. But that's off-topic here.

VB(A) is unusable for everyday office automation because it doesn't
offer an interactive commandline interpreter.

Besides, both only run^H^H^Hlimp on a pathologic non-operating system
that's just as unsuitable for any productive work. But that's
off-topic, too.

> I would prefer people to invest the same time into a Python based
> solution.
> But then we're back to the initial point: As long as there's no GUI
> builder for Python, most people will stick to Excel / VBA / VB.

There are quite a few GUI builders out there for Python. The point is
that they are not very "pythonic" imho, i.e. they don't really show
what the advantage of Python is for GUIs over those other languages. And
imho these GUI builders, just like the frameworks that they generate
code for are not very suitable for someone who's not a software
developer by profession. Because they require way too much "glue code".

And unfortunately the origin of this problem seems to be the
open-source development model itself: Since developers of open source
development tools (GUI frameworks, GUI builders etc.) usually
implement these for their own use, and since these people are typically
software developers by profession who come from a C++-dominated
background, they don't see the necessity and they don't have any
motivation to implement anything that would help all those potential
Python users out there who just can't devote the time and effort
required to get over that pretty huge step in the learning curve of
those frameworks and tools.

Please note that this is not meant as criticism to open-source
developers, but as a hint that there might be a business opportunity
for someone here to develop and sell something for money. ;-)

Sincerely,

Wolfgang


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Wolfgang Keller  
View profile  
 More options Jun 13 2012, 8:36 am
Newsgroups: comp.lang.python
From: Wolfgang Keller <felip...@gmx.net>
Date: Wed, 13 Jun 2012 14:36:08 +0200
Local: Wed, Jun 13 2012 8:36 am
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

> > Tkinter is imho honestly the very best "argument" if you want to
> > make potential new users turn their backs away from Python for
> > good. Just show them one GUI implemented with it and, hey, wait,
> > where are you running to...

> Yes, Tkinter GUI's are very ugly.

> http://www.codebykevin.com/phynchronicity-running.png

> http://www.codebykevin.com/quickwho-main.png

OK, so after what - one and a half decades? - Tkinter now finally has
caught up with wxPython and PyQt (concerning the look). Which can be
used in an as interactive way from the commandline interpreter as
Tkinter. Argument against Tkinter withdrawn from my side.

But there's afaik still no interactive GUI builder out there for any of
these frameworks, nor a higher level framework that requires less glue
code between bare naked "event handling" and the domain-specific code.
"Event handling" - that term already raises my hair because it stinks
like bulkloads of clumsy, error-prone diligence work that has nothing
to do with the problem I need to get solved.

Sincerely,

Wolfgang


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Wolfgang Keller  
View profile  
 More options Jun 13 2012, 8:49 am
Newsgroups: comp.lang.python
From: Wolfgang Keller <felip...@gmx.net>
Date: Wed, 13 Jun 2012 14:49:31 +0200
Local: Wed, Jun 13 2012 8:49 am
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

> No matter how cool it may seem to create simple GUIs manually or to
> write business letters using LaTeX: just try to persuade people to
> move from Word to LaTeX for business letters...

Good example.

I have done nearly exactly this* - but it was only possible thanks to
LyX.

Sincerely,

Wolfgang

*I moved not from Wugh, but from other software to LyX/LaTeX for all my
document processing.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
rdst...@mac.com  
View profile  
 More options Jun 13 2012, 12:30 pm
Newsgroups: comp.lang.python
From: rdst...@mac.com
Date: Wed, 13 Jun 2012 09:30:09 -0700 (PDT)
Local: Wed, Jun 13 2012 12:30 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

> I think this is the wave of the furture for deploying simple programs
> to many users. It is almost 100% cross platform (can be used on
> desktop, smartphone, tablet, windows, linux, mac etc) and is very easy
> to do, even for casual "non-programmers" who do a little programming
> (such as many engineers).

> I think efforts to make a better, and more definitive, "GUI builder"
> for Python should focus on makigng an easy to use "IDE" for creating
> these kinds of Python-HTMl-Javascript front ends for applications.

> *That* would really help Python's popularity to take off and expode.

> Ron Stephens

Replying to myself, to add this note: I just read the link
likehacker.com/learn-to-code/
about Google's "Blockly" a drag and drop tool for building apps that
outputs Python or Javascript code (among others) and it might be
usable along these lines...I'm sure serious programmers would not use
it but maybe engineers looking to make web front ends
for data acquisition or data base apps might use it...

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Wolfgang Keller  
View profile  
 More options Jun 14 2012, 2:25 pm
Newsgroups: comp.lang.python
From: Wolfgang Keller <felip...@gmx.net>
Date: Thu, 14 Jun 2012 20:25:09 +0200
Local: Thurs, Jun 14 2012 2:25 pm
Subject: Re: Pythonic cross-platform GUI desingers à la Interface Builder (Re: what gui designer is everyone using)

> > None of these were such that I could propagate it as GUI development
> > tool for non-programmers / casual users.
> > Sure, some are good for designing the GUI, but at the point where
> > the user code is to be added, most people would be lost.

> There was a time when that was a highly advertisable feature - "build
> XYZ applications without writing a single line of code!".

That's the typical nonsense cheaptalk of sales promotion advertising,
directed at clueless managers.

What is needed for domain specialists are frameworks and related tools
such as GUI builders that allow them to write exclusively the
domain-specific code (this is where a domain specialist will always be
better than any software developer), layout the GUI as ergonomically
convenient (same) and then have the framework do all the rest.

> I've seen it in database front-end builders as well as GUI tools,
> same thing. But those sorts of tools tend not to be what experts want
> to use.

If by "experts" you mean "domain specialists", you're wrong. If you
mean full-time software developers, I don't care for what they want,
because they already have what they want. And where they don't have it
already, they can do it themselves.

> You end up having to un-learn the "easy way" before you learn the
> "hard way" that lets you do everything.

I see no technical reason why a GUI builder would prevent anyone to
add customised code by hand.

No tool/framework can cover 100%, no doubt. My point is that there are
currently no frameworks/tools available for Python that cover the
90/95/98% of use cases where they would help a L-O-T.

Sincerely,

Wolfgang


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 26 - 50 of 72 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »