I am fed up with Python GUI toolkits...

A

alex23

rantingrick said:
The old "reinvent the wheel" argument is only valid when wheels
already exists. Currently we have triangles (or maybe pentagons) but
no wheels.

No, currently we have a small handful of people who feel the wheels
are triangles but have done nothing more than complain about it, while
those who don't feel likewise continue to cycle on them smoothly.

The "reinvent the wheel" argument is only valid when the affected
people do something other than whine.
 
A

alex23

rantingrick said:
What about the etiquette of staying on topic?

Such as raising your personal opinion of online etiquette in a thread
on GUI toolkits?

As always, there's what you say, and there's what you do, and never
the twain shall meet.
 
S

Steven D'Aprano

No it isn't. Rambling off on a new topic under the wrong subject is
rude.


Ha ha, rantingrick lecturing others on rudeness! How cute!

Or hypocritical. Sometimes I get those two confused.
 
C

Cameron Simpson

|
| RE: *Tim Chase changes topic and talks smack*
|
| > On 07/20/2011 08:17 PM, rantingrick wrote:
| >
| > > RE: *Ben Finney changes thread subject*
| >
| > > Please everyone, do not change the subject of someone's thread because
| > > it's considered rude. Thank you.
| >
| > Right...do not change the subject because it's considered rude.
| > Change it because the topic drifted from the original topic and a
| > fitting subject line helps people decide whether they want to
| > read any subsequent sub-threads.  That's just email etiquette as
| > old as the tubes.
|
| What about the etiquette of staying on topic? The only person who is
| OFFICIALLY allowed to change the subject matter of a thread is the OP.
| Sure some folks might make an off topic post here and there however i
| find it bombastically rude when folks just change a topic of thread
| they do not own.

You're labouring under a misapprehension. The OP doesn't "own" the
thread. Starting a thread on a public list is like throwing a party.
People are going to come. And talk, damn their impudence!

It is good to stay near the topic, but threads will inevitably drift
unless they're talking about something utterly trite. It is good of an
author to mark his/her departure from the main topic, should it be
significant, with a subject change. Or even a new thread.

| How would you like it if i came to your house

You can stop there, thanks.

You continue to confuse a cooperative anarchy with some kind of
stringent autocracy or heavily premoderated forum or something.
As with your docstring formatting opinions or your spaces-vs-tabs
opinions: mandating behaviour is a little pointless - it can't be
enforced, few directives are unambiguously one sidedly good and so
mandating stuff is divisive and will drive people away.

Cheers,
--
Cameron Simpson <[email protected]> DoD#743
http://www.cskk.ezoshosting.com/cs/

It's quite difficult to remind people that all this stuff was here for a
million years before people. So the idea that we are required to manage it is
ridiculous. What we are having to manage is us.
- Bill Ballantine, marine biologist
 
K

Kevin Walzer

Tk is SPECIFICALLY designed for TCL. Tkinter works ONLY by embedding a
TCL interpreter. You statements are misleading.

Of course I know this--I'm one of the core Tcl/Tk developers on my
platform. :) My statement was actually based on Mark Lutz's
characterization in "Programming Python," when he defends Tk's inclusion
in the stdlib (and his own book's extensive focus on it) by observing
that the toolkit was specifically designed for use with scripting
languages--Tcl at the start, but also Python, Perl, Ruby...he seemed to
want to downplay Tk's Tcl-ish roots, as if he were embarassed by them. I
guess it's a Tcl-ish subject.

He did not even mention Tk in that block, do you have a TK persecution
complex?

No, but it's an advantage that Tk has over the other ones, and an
argument that reinventing the wheel is unncessary.
This is true. Lots of people lack the skill to create professional
quality GUI applications however lots of GUI devs lack the skill to
create clean and intuitive API's also. Tkinter/TclTk and WxPython
\WxWidgets has lots of warts in this respect.

I think what constitutes a "clean API" is partly a matter of taste.
Just because someone wants to entertain ideas for a new GUI does mean
they are starting flame wars. I would say out all the responses so far
YOURS is the most emotional.

*shrug*

Maybe it is. I prefaced this by saying, "OK, I'll bite," which suggests
that perhaps I shouldn't, because complaints and hand-wringing are
really a waste of time. In the future, I think my response (if I make
one at all) will more likely be something like this:

"An interesting idea. Please post back when you have a source code repo,
build instructions so we can play with your code, a mailing list, and a
license that is suitable for both open-source and proprietary development."

The most substantial effort at developing a new GUI API for Python did
just this--PySide (alternative bindings to Qt). No hand-wringing, no
flame wars, just an announcement of the project, an invitation to
contribute, and so on. Whether you think it's a misguided project or an
attempt to reinvent the wheel is beside the point--it's a substantial
project, with both leadership and a growing community that support
ongoing development and rapid maturation.

In my own experience, this is the only way to move things forward or
bring about any useful change--roll up my sleeves and do it myself. I've
done this a bit with Tkinter (maintaining bindings/wrappers to a popular
Tk widget, tablelist), but I've done this extensively with Tk itself on
the Mac. I complained on mailing lists for years that Tk didn't do this
or that on the Mac, and these complaints fell on deaf ears; finally, I
decided to dive into the deep end, learn the low-level API's to do what
I wanted, and bingo! Suddenly Tk did what I wanted.

That's the essence of open-source development--scratching your own itch.
Sometimes you get lucky and a large corporate entity has an itch to
scratch, and this can bring large-scale projects with large-scale
benefits. I believe Nokia is funding PySide. While Tk's port to the
Mac's Cocoa API was done by a single developer, the project was funded
by Apple. Creating a new GUI toolkit may require this scale of effort
and investment. But even without it, if a developer can get something
started and make enough progress to be of interest to others, then a
larger community may move the project forward.

Code trumps everything.
True Tkinter does no Database, networking, threading, etc. However i
would not call an embedded TCl interpreter "lean and mean".

Perhaps not. Creating a pure-Python GUI toolkit that provides native
integration with X11, Windows, and OS X windowing systems would be "lean
and mean"--but it would also be a lot of work. And, assuming the project
went forth to completion, I bet that other scripting languages would
piggyback on top of it (Lua or Ruby bindings for Python's GUI toolkit,
anyone?) because doing that is less work than writing your own toolkit
from scratch.
I will agree with Kevin here. Hey, he's not ALWAYS wrong you know;
just most of the time! ;-)
Meh.


Tk's event binding (whist quite powerful) is also quite overwhelming
in the sheer number of event sequences alone and leads to spaghetti
code. See my recent thread about the subject.

This is a matter of taste.
I think it could happen much sooner if people got serious. However it
won't happen tomorrow for sure.

Certainly not.

The old "reinvent the wheel" argument is only valid when wheels
already exists. Currently we have triangles (or maybe pentagons) but
no wheels.

Well, I have two closing responses:

"Let's see your code, repo, mailing list, and license."

and:

"I'm bowing out now."

--Kevin
 
G

Gregory Ewing

sturlamolden said:
Or should modern deskop apps be written with something completely
different, such as HTML5?

I hope not! HTML is great for web pages, but not
everything should be a web page.
 
S

sturlamolden

I think that's a bit of an exaggeration -- there's only
one major dependency on each platform, and it's a very
widely used one (currently PyObjC/PyGTK/PyWin32). And
I'm thinking about ways to reduce the dependencies further,

Pyrex or Cython?
 
S

sturlamolden

I bet that other scripting languages would
piggyback on top of it (Lua or Ruby bindings for Python's GUI toolkit,
anyone?) because doing that is less work than writing your own toolkit
from scratch.

No doubt about that.

Lua has a nice GUI toolkit by the way, which also has a C API.
Currently it works on GTK+, Motif and Window. The C API is very small,
only about 100 functions. So it makes a good candidate for a new
Cython-based toolkit, even without piggybacking on Lua.

http://www.tecgraf.puc-rio.br/iup/
 
G

Gregory Ewing

Tim said:
I don't think your glibness is justified. There is a legitimate appeal to
this notion. The fact is that MANY APIs can be completely and adequately
described by HTML.

My brain raises a TypeError on that statement. According to
my understanding of the world, describing APIs is not something
that HTML does. (Or did you mean GUI rather than API?)

There might be some sense in using something HTML-like to
describe the layout of widgets in a GUI. But laying out
widgets is only a tiny part of what's involved in creating
an application with a GUI. You still need a GUI toolkit to
provide the widgets being laid out, and application code
behind that to provide the desired functionality.
With style sheets, you can
get very complete control over the look and feel.

CSS is designed for graphic artists who want complete
control over every aspect of appearance. Again, this is
(arguably) okay for web pages, but I don't think it
applies to GUI applications. You *don't* want every
application looking completely different from every other
on the whim of the author -- quite the opposite.
 
C

Cameron Simpson

| Tim Roberts wrote:
| >>sturlamolden wrote:
| >>>Or should modern deskop apps be written with something completely
| >>>different, such as HTML5?
| >>
| >>I hope not! HTML is great for web pages, but not
| >>everything should be a web page.
| >
| >I don't think your glibness is justified. There is a legitimate appeal to
| >this notion. The fact is that MANY APIs can be completely and adequately
| >described by HTML.
[...]
| There might be some sense in using something HTML-like to
| describe the layout of widgets in a GUI. But laying out
| widgets is only a tiny part of what's involved in creating
| an application with a GUI. You still need a GUI toolkit to
| provide the widgets being laid out, and application code
| behind that to provide the desired functionality.

Sure, but if a suitable API is presented for javascript to hook into
over HTTP an HTML widget kit isn't an unreasonable thing to build.
And then you have the cross platform nirvana. Except for the browsers'
various differences and bugs etc etc...

| >With style sheets, you can
| >get very complete control over the look and feel.
|
| CSS is designed for graphic artists who want complete
| control over every aspect of appearance. Again, this is
| (arguably) okay for web pages, but I don't think it
| applies to GUI applications. You *don't* want every
| application looking completely different from every other
| on the whim of the author -- quite the opposite.

You can override site specific CSS in the firefox browser, possibly
others. There are extensions to make it easier rather than mega-awkward
and undocumented. It is still a bit of a dobge, in not small part
because CSS lacks a "not" - you can't say "style everything except
blah", which means you have to enumerate a bazillion combinations and
you're still playing guessing games.

So, yes, the every author's look'n'feel is gratuitously different chaos
still applies :-(

Cheers,
--
Cameron Simpson <[email protected]> DoD#743
http://www.cskk.ezoshosting.com/cs/

But what ... is it good for?
--Engineer at the Advanced Computing Systems Division of IBM,
1968, commenting on the microchip.
 
C

Chris Angelico

And then you have the cross platform nirvana. Except for the browsers'
various differences and bugs etc etc...

The "platform" ceases to be Windows/Linux/Mac, ceases to be Qt/GTK/Tk,
and instead becomes Webkit/Gecko/Trident. It's still not perfectly
cross-platform. (Although the recent ones are tending to comply with
the standards better than during the old IE vs Netscape browser wars.)

ChrisA
 
L

lkcl

Greg Ewing's pygui project is still going and releasing new versions.












I think you described pygui.


Ask Greg what you might help with.


An interesting question. I think thepyjamasproject is aimed in this
direction,

weeelll... we kinda want to keep as many platforms supported as
possible, so that includes IE6 canvas (VML) which surprisingly works
pretty damn good, the only thing missing is being able to add text to
VML canvas: everything else (including colour gradients) shockingly
actually works. it's slow, but what do you expect out of IE6, duh.

but yes we're finding that an increasing number of people are saying
"i wrote a pyajamas app, it used direct HTML5, sod the browsers that
don't properly support HTML5" and i think that's a good thing.

but the author says he will never port to Py3. (He explained
his reasons on this list when I suggested that.)

:) it's not quiiite a matter of "never" - it's conditional. the
conditions on which i, personally and extremely grudgingly, will get
involved in a py3 port of pyjamas are when it becomes hellishly
difficult for myself, personally, to maintain all of the components of
pyjamas *including* the desktop ports (w32 MSHTML, gnu pythonwebkit
project, xulrunner N.N) which people tend to forget exist for python
2.N. the reason for that are a) personally i don't like py3 (because
it didn't include backwards-compatibility for python 2) b) the pyjs
translator is self-contained, and has at absolutely no time any need
for any links at runtime to in fact any python *at all* (because the
pyjs version runs on a javascript engine *not* a python engine).

there's no "never" in there - it's just that i'll keep reviewing the
situation, and i anticipate / predict that it will begin to become
difficult to compile python2 applications (such as python-comtypes) at
some point in approx ooo... 5 to 7 years. maybe not - it's hard to
say.

anyway - if however someone else wants to collaborate and/or fund a
py3 port of pyjamas, knock yourself out: just bear in mind that it's
an estimated 18 man-month project.

l.
 
M

Michael Torrie

Please everyone, do not change the subject of someone's thread
because it's considered rude. Thank you.

Too funny. Says who? Changing the subject line to reflect the
direction this part of the thread (a branch if you will) is going is
definitely appropriate. At least according to etiquette rules that go
back for some time (likely before you were around--you're pretty young
no?)

Besides forking is a time-honored open source tradition.
What about the etiquette of staying on topic? The only person who is
OFFICIALLY allowed to change the subject matter of a thread is the
OP. Sure some folks might make an off topic post here and there
however i find it bombastically rude when folks just change a topic
of thread they do not own.

Oh really. I guess since you are one of the leaders I guess it must be
so. Too funny.

Fortunately not all of us are using the crippled one-dimensional
Gmail "conversation" way of reading threads on e-mails. So as long as
the topic is appropriately changed, we can deal with branches that twist
and turn. My e-mail reader threads them all quite nicely.

Now replying to an existing thread to start an entirely new, unrelated
thread is definitely rude.
How would you like it if i came to your house and wrote my name on
your refrigerator door, or used your toilet without asking, or slept
in your bed? I would not do that because i have manners. Feel free to
make yourself comfortable but don't put you feet on the coffee
table.

Did you study "logical fallacies" in English classes at uni? (If she
weighs the same as a duck then she's made of wood, and therefore she's a
witch).

And as for manners go, I'm glad to see you've improved so much in the
last year. Who knows you might just be removed from kill files yet.
 
T

Terry Reedy

Now replying to an existing thread to start an entirely new, unrelated
thread is definitely rude.

Rude or not, it tends to be unproductive. If someone posted "Help with
threading internals" here, it could well not be seen by the appropriate
people, especially if they have threads collapsed.
 

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

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top