GUIs - A Modest Proposal


A

ant

I get the strong feeling that nobody is really happy with the state of
Python GUIs.
Tkinter is not widely liked, but is widely distributed. WxPython and
PyGtk are both
powerful, but quirky in different ways. PyQt is tied to one platform.
And there are
dozens more.

Whether or not we like graphics programming, it's not going to go
away. I get the
uneasy feeling whenever I start a new project that there should be a
'better' GUI
than the ones I currently use (WxPython and PyGtk).

Fragmentation is our enemy. Our resources are being dissipated. Is it
not time to
start again? We have shown that it is possible to do the right thing,
by creating Python3.

I ask the group; should we try to create a new GUI for Python, with
the following
properties?:

- Pythonic
- The default GUI (so it replaces Tkinter)
- It has the support of the majority of the Python community
- Simple and obvious to use for simple things
- Comprehensive, for complicated things
- Cross-platform
- Looks good (to be defined)
- As small as possible in its default form

If so, what are the next steps?

The Python SIG on GUIs closed years ago. Should that be revived?

This is "A Modest Proposal" (J. Swift). In a sense, I am suggesting
that
we eat our own babies.

But don't we owe it to the community?
 
Ad

Advertisements

G

geremy condra

I get the strong feeling that nobody is really happy with the state of
Python GUIs.
Tkinter is not widely liked, but is widely distributed. WxPython and
PyGtk are both
powerful, but quirky in different ways. PyQt is tied to one platform.
And there are
dozens more.

Whether or not we like graphics programming, it's not going to go
away. I get the
uneasy feeling whenever I start a new project that there should be a
'better' GUI
than the ones I currently use (WxPython and PyGtk).

Fragmentation is our enemy. Our resources are being dissipated. Is it
not time to
start again? We have shown that it is possible to do the right thing,
by creating Python3.

I ask the group; should we try to create a new GUI for Python, with
the following
properties?:

- Pythonic
- The default GUI (so it replaces Tkinter)
- It has the support of the majority of the Python community
- Simple and obvious to use for simple things
- Comprehensive, for complicated things
- Cross-platform
- Looks good (to be defined)
- As small as possible in its default form

If so, what are the next steps?

The Python SIG on GUIs closed years ago. Should that be revived?

This is "A Modest Proposal" (J. Swift). In a sense, I am suggesting
that
we eat our own babies.

But don't we owe it to the community?

No.

http://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/

Geremy Condra
 
A

Adam Tauno Williams

I get the strong feeling that nobody is really happy with the state of
Python GUIs.
WxPython and PyGtk are both powerful, but quirky in different ways.

All widget libraries are quirky - because sophisticated user interfaces
are complicated. If you make a new one that is sophisticated enough to
be really useful - it will be "quirky".
PyQt is tied to one platform.

No it isn't.
Whether or not we like graphics programming, it's not going to go
away. I get the
uneasy feeling whenever I start a new project that there should be a
'better' GUI
than the ones I currently use (WxPython and PyGtk).

Fragmentation is our enemy.

So fragment some more? And at least PyGtk is a wrapper around Gtk, so
in a sense that is anti-fragmentation. It is reusing Gtk which is also
reused as Gtk# by Mono/.NET and other bindings.
Our resources are being dissipated. Is it not time to start again?
No.

I ask the group; should we try to create a new GUI for Python, with
the following properties?:
- Pythonic
- The default GUI (so it replaces Tkinter)
- It has the support of the majority of the Python community
- Simple and obvious to use for simple things
- Comprehensive, for complicated things
- Cross-platform
- Looks good (to be defined)
- As small as possible in its default form

Good luck. Seems pointless to me.
But don't we owe it to the community?

Seems like there are already several very mature options.
 
M

Michael Torrie

WxPython and PyGtk are both powerful, but quirky in different ways.
PyQt is tied to one platform. And there are dozens more.

In what way is PyQt (or the new PySide bindings) tied to one platform?
PyQt is "native" on Win32, Mac, and Linux. Would your universal GUI be
any less quirky?
I ask the group; should we try to create a new GUI for Python, with
the following properties?:
<snip>
- Comprehensive, for complicated things - Cross-platform
Most GUI toolkits currently are, to some degree or another. Qt is the
most comprehensive cross-platform toolkit that I know of. You can
pretty much do any application operation using its API.
- Looks good (to be defined)
Does that mean it looks native? Should it be native? Does not the
Tkinter gui look "good?"

I can think of at least the following reasons why a new universal GUI
for Python will have acceptance issues:
- stuck with the lowest common denominator of functionality on each
platform if you thunk to native widgets (a la wxWidgets)
- often look and feel is not quite native even when using native themes
(GTK on windows, for example)
- if you take the Java Swing approach, you'll look out of place
everywhere, which is kind of where tkinter is now.
 
L

Lie Ryan

I get the strong feeling that nobody is really happy with the state of
Python GUIs.
Tkinter is not widely liked, but is widely distributed. WxPython and
PyGtk are both
powerful, but quirky in different ways. PyQt is tied to one platform.
And there are
dozens more.

Whether or not we like graphics programming, it's not going to go
away. I get the
uneasy feeling whenever I start a new project that there should be a
'better' GUI
than the ones I currently use (WxPython and PyGtk).

Fragmentation is our enemy. Our resources are being dissipated. Is it
not time to
start again? We have shown that it is possible to do the right thing,
by creating Python3.

I ask the group; should we try to create a new GUI for Python, with
the following
properties?:

- Pythonic
- The default GUI (so it replaces Tkinter)
- It has the support of the majority of the Python community
- Simple and obvious to use for simple things
- Comprehensive, for complicated things
- Cross-platform
- Looks good (to be defined)
- As small as possible in its default form

If so, what are the next steps?

The Python SIG on GUIs closed years ago. Should that be revived?

This is "A Modest Proposal" (J. Swift). In a sense, I am suggesting
that
we eat our own babies.

But don't we owe it to the community?

Pick any two:
- Simple
- Beautiful
- Cross-platform
 
Ad

Advertisements

S

Stef Mientki

Aren't all programms going webbased in the near future ?
And if so, wouldn't it be better to hook to GWT or something like that
(I can't oversee all the conesquences)?
cheers,
Stef Mientki
 
L

Lie Ryan

There you go:

"A good browser should be able to reproduce itself. Safari 4, built entirely with valid HTML5 and CSS3."

Can't wait to see "Download Firefox for Chrome OS"
 
I

Irmen de Jong

Can't wait to see "Download Firefox for Chrome OS"

That would mean that Chrome OS *is* Firefox, because Firefox is written in itself...
Just open the following URL in Firefox to see proof of that:
chrome://browser/content/browser.xul

Irmen
 
Ad

Advertisements

C

Colin J. Williams

What do you mean one platform?
Source Packages

This is the latest stable version of PyQt4.
PyQt-x11-gpl-4.7.3.tar.gz Linux, UNIX source
PyQt-win-gpl-4.7.3.zip Windows source
PyQt-mac-gpl-4.7.3.tar.gz MacOS/X source

Colin W.
 
J

Joshua Kordani

"Yo dawg I heard you like browsers, so we put a browser in your browser
so you can browse while you browse!" -- Xibit
 
P

python

Why not a GUI based on HTML, CSS and Javascript?

To paraphrase another poster and to borrow from SQLite:

Pick any *THREE*:
- Simple
- Beautiful
- Cross-platform

Malcolm
 
P

python

Yes, just wait until somebody builds a web-browser that runs in your web-browser!

<iframe> ?

Malcolm
 
R

rantingrick

I ask the group; should we try to create a new GUI for Python, with
the following
properties?:

- Pythonic
- The default GUI (so it replaces Tkinter)
- It has the support of the majority of the Python community
- Simple and obvious to use for simple things
- Comprehensive, for complicated things
- Cross-platform
- Looks good (to be defined)
- As small as possible in its default form

Yes i one hundred percent agree! The only problem is i am the only
one! Good luck finding others to climb into this boat. From the
beginning there has has been this really weird love-hate relationship
with Tkinter in the Python community. I myself experience this
emotional attachment every day as i wish for Tkinter to be more
"pretty" and "feature-rich" whilst at the same time loving it's
simplicity. Tkinter seems to be Python's whipping boy and nobody wants
to whip another, so we are stuck in limbo with a lobotomy.

Heres an idea though, why not expand Tkinter with some new really cool
widgets...? Hmmm...? That TIX package is a real PITA and could use a
re-write. Can you believe it took until py3.0 for Tkinter to get a
combobox :-O! Yea i know! :'-(
 
Ad

Advertisements

A

Alf P. Steinbach

* (e-mail address removed), on 06.06.2010 17:17:
Why not a GUI based on HTML, CSS and Javascript?

To paraphrase another poster and to borrow from SQLite:

Pick any *THREE*:
- Simple
- Beautiful
- Cross-platform

I'm not sure what this discussion is about, but anyway, modern GUI frameworks
/are/ based on XML, CSS and some code behind, which may be JavaScript or other
language.

In particular Mozilla's XUL is based on XML, CSS and JavaScript, and Microsoft's
whatever-its-name is based on XML, CSS and, as I understand it, your choice of
programming language for the code behind.

I have done some XUL programming (a few Thunderbird extensions) but I haven't
tried the Microsoft stuff since even their XML text editor, when I first looked
at it, required minimum 512 MiB of RAM, and that was years ago; presumably the
modern version of that MS XML text editor now requires 16 GiB or more RAM...


Cheers,

- Alf
 
R

rantingrick

* (e-mail address removed), on 06.06.2010 17:17:




I'm not sure what this discussion is about, but anyway, modern GUI frameworks
/are/ based on XML, CSS and some code behind, which may be JavaScript or other
language.


Oh Please lets not help user in the age of "take-over-my-puter--all-my-
data, and-my-freedoms, and-then-force-me-to-be-a-slave-to-you-just-so-
i-can-use-my-data, with-your-permission, master!" era. Yes i have seen
these GUI, HTML, CSS, Javascript freaks of nature and lament them
daily! What a nightmare! Give me a good ole GUI and get the hell outta
my way!

~>:^(
 
P

Petite Abeille

Oh Please lets not help user in the age of "take-over-my-puter--all-my-
data, and-my-freedoms, and-then-force-me-to-be-a-slave-to-you-just-so-
i-can-use-my-data, with-your-permission, master!" era. Yes i have seen
these GUI, HTML, CSS, Javascript freaks of nature and lament them
daily! What a nightmare! Give me a good ole GUI and get the hell outta
my way!

Resistance is futile. You will be assimilated.
 
Ad

Advertisements

M

Mark Lawrence

Yes i one hundred percent agree! The only problem is i am the only
one! Good luck finding others to climb into this boat. From the
beginning there has has been this really weird love-hate relationship
with Tkinter in the Python community. I myself experience this
emotional attachment every day as i wish for Tkinter to be more
"pretty" and "feature-rich" whilst at the same time loving it's
simplicity. Tkinter seems to be Python's whipping boy and nobody wants
to whip another, so we are stuck in limbo with a lobotomy.

Heres an idea though, why not expand Tkinter with some new really cool
widgets...? Hmmm...? That TIX package is a real PITA and could use a
re-write. Can you believe it took until py3.0 for Tkinter to get a
combobox :-O! Yea i know! :'-(
Patches are welcome at any time. I look forward to seeing your first
contribution.

Kindest regards.

Mark Lawrence.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top