From: jyoung79 on

On Wed, 2010-06-09 at 04:16 -0700, ant wrote:
> Since I started this thread, I feel a sense of responsibility for it,
> in some bizarre way.

I'm glad you brought this GUI subject up. I've enjoyed reading
everyones thoughts on this subject.


> Most people who have used a GUI have some investment in it. So
> arguments about which one is best tend to be
> partial and not wonderfully constructive.

I'm just frustrated at the moment since I don't know which one to
choose. Looks like there's a lot of choices and I need to spend
a lot of time testing each of them out - and each has it's own
learning curve.


> But whenever I
> write a program that someone else is going to use, it has to have a
> GUI. Is that not true for most people?

I would agree. When writing code for my customers, they want a very
intuitive and simple application. GUI is perfect for this instead of
having to include flags and path strings in the command-line.


> However many people have neither the time or the
> expertise to decide, and the experience of choosing the wrong one is
> a real turn-off.

Yeah, I definitely agree!


> That, in my opinion, is where a replacement for Tkinter should be
> aimed: the beginning graphics programmer.
> But if it is built on the right foundation (which Tkinter seems not
> to be), it could be extended to cover
> far more useful cases than Tkinter can.

I haven't been able to test pyGUI just yet. From reading about it, it
looks pretty hopeful. I need to install an earlier OS X version since
I can't seem to get it to work on Snow Leopard.

Jay
From: Ethan Furman on
Steven D'Aprano wrote:
> In any case, Python doesn't ship with Tcl and Tk. They are dependencies
> *only if you use Tkinter*. It's not compulsory.

So what do you call a fact with quark-like attributes? A quack? ;)

Tcl/Tk do, in fact, ship with the Windows versions. Good reminder that
they may not be there on other platforms, though.

~Ethan~


P.S.
Now that I think about it, actually installing them is optional...
From: Ethan Furman on
Gregory Ewing wrote:
> Kevin Walzer wrote:
>> PyGUI ... certainly is *not* a lightweight GUI toolkit that could
>> easily be incorporated into the Python core library--it instead has
>> rather complex dependencies on both other GUI toolkits and Python
>> wrappers of those toolkits.
>
> I don't see how the dependencies could be regarded as "complex".
> There's more or less only one on each platform, and they're
> pretty standard accessories for the platform concerned. You could
> say there are two on Linux if you count gtk itself, but you almost
> certainly already have it these days if you're running any
> kind of desktop at all.

*Alert* Potentially dumb question following: On the MS Windows
platform, Gtk is not required, just win32?

~Ethan~
From: rantingrick on
On Jun 9, 6:16 am, ant <shi...(a)uklinux.net> wrote:
> Since I started this thread, I feel a sense of responsibility for it,
> in some bizarre way.
> Not to prolong its existence, which is clearly a troubling one for
> some, but to try to steer it towards some kind of consensus that will
> irritate the least number of people.

Don't worry about irritating people. There are a subset of folks on
this list that await the chance to be offended just so they can spew
bile. Really, don't worry about them. And never allow these minions to
quell your freedom of speech, because they will try.

> Or better, that will gain some
> kind of support and momentum so that something happens.

Exactly. Thats the very point that the naysayers miss. Pythons
community is no "field of dreams". Just because you build it, doesn't
mean they'll come. Even if what you build is better, they still
probably won't come, or even give a flying fig.

> 1 Although a few advocates of Tkinter have spoken in favour of it,
> most seem to think that:
>     It's not particularly elegant, either in its use or its
> implementation with Tcl/Tk
>     If we didn't have a GUI in the distribution, we wouldn't choose
> Tkinter now; it seems like its inclusion
>     is  a sort of historical accident.

I don't think it was an accident. Guido forged the path of Tkinter's
inclusion in Python. From what i understand he wrote most of Tkinter
and IDLE himself! (albeit a very long time ago). This all stems from
"Computer Programming For Everyone". Guido had a vision, and he left
that vision in our hands and we utterly failed to maintain it! It has
now fallen into complete ruin. And any motivation to pull ourselves
out of this rut is missing.

>     It may be all right for small projects, but once things get
> bigger, you have to throw away what you've done
>     and use something else.
>     Not many people use it anyway, so why bother?

The GUI that Python includes will never (AND SHOULD NEVER) be for
winning "GUI of the year" contests. The sheer size of wx or others
prevents their inclusion and rightly so. People need to stop using
this argument because it is a moot point. The GUI must be small,
pythonic, and cross platform. Used only for utility and learning
purposes.

> 2 Most people who have used a GUI have some investment in it. So
> arguments about which one is best tend to be
>   partial and not wonderfully constructive.
>   Indeed, about the only common thread that comes out seems to be a
> general dislike of Tkinter.

And the cycle continues...

# DONT RUN THIS CODE ;-)
>>> import itertools
>>> state = itertools.cycle(['But Tkinter Sucks!', 'So Fix Tkinter!'])
>>> while arguing:
.... print state.next()
# DONT RUN THIS CODE ;-)

> 3 There is a surprising number of people who think that Python
> shouldn't have any 'favoured' association with a
>   GUI at all. I find that surprising because of my own experience: I
> have written a few hundred Python programs
>   over the last few years, mostly small and almost entirely for my own
> benefit. Most of those don't use a GUI. But      whenever I
>   write a program that someone else is going to use, it has to have a
> GUI. Is that not true for most people?

These people are the ones who cannot change with the times. You know
what they say. """ Change with the times or get left behind""". They
would rather hack together a curses front-end than to drop into a GUI,
yes really. You old timers need to get with the program, GUI is here
to stay until wet-ware interfaces take over. So drag yourself into the
21st century (kicking and screaming if necessary)

> 4 Some think that including any sort of GUI is 'bad'. People can
> choose the one they want from the large list available.
>   I certainly don't want to stop people doing what they want. However
> many people have neither the time or the
>   expertise to decide, and the experience of choosing the wrong one is
> a real turn-off.
>   That, in my opinion, is where a replacement for Tkinter should be
> aimed: the beginning graphics programmer.

Tkinter is aimed at the newbie and i would think that was Guido's
original vision. And it's not the worst GUI by far. But we need to fix
it, or abandon it.

>   But if it is built on the right foundation (which Tkinter seems not
> to be), it could be extended to cover
>   far more useful cases than Tkinter can.

Agreed!

> 5 I should stop pontificating, and write code. If it's better than the
> existing, people will use it and it will
>   become the standard.

Writing code guarantee's NOTHING! That is the whole point of threads
like this one. First do research and then write code. Not the other
way round lest you have time to waste.

>   I don't think so. Even vast libraries of well-written code haven't
> become the standard. I seem to remember a
>   DEC assembler manual from the last century, which said "A standard
> doesn't have to be optimal, it just has to be
>   standard" (Feel free to correct me on that one. The last century
> seems like a long time ago).
>
> So I think comments like "the system doesn't work like that - nothing
> happens till code is working" miss the point.

Exactly! see my last answer.

> So, to summarise the summary: I reiterate my call. Somebody has to get
> Tkinter out of the distribution and replaced
> by something that - as a minimum - doesn't get slagged off by nearly
> everyone.
>
> It can't be me - I don't have the clout.

Yes we need a leader. Someone who is not afraid of the naysayers.
Someone with Guido's vision. When the leader emerges, the people will
rally.



From: Adam Tauno Williams on
> The GUI must be small, pythonic, and cross platform.

And how many times have I heard that? I develop GUIs... good luck.
Come back in ten years when you have some working code.

> Tkinter is aimed at the newbie and i would think that was Guido's
> original vision. And it's not the worst GUI by far. But we need to fix
> it, or abandon it.

Or just use a different one. Simple enough.

> > 5 I should stop pontificating, and write code. If it's better than the
> > existing, people will use it and it will
> > become the standard.
> Writing code guarantee's NOTHING!

NOT writing code does guarantee NOTHING!!

> That is the whole point of threads
> like this one. First do research and then write code. Not the other
> way round lest you have time to waste.
> > So I think comments like "the system doesn't work like that - nothing
> > happens till code is working" miss the point.
> Exactly! see my last answer.

A point cannot miss itself, that doesn't make sense. "code is working"
*is* the point, the whole point, and there is no other point.

> > So, to summarise the summary: I reiterate my call. Somebody has to get
> > Tkinter out of the distribution and replaced

Or not, whatever.

> > by something that - as a minimum - doesn't get slagged off by nearly
> > everyone.
> > It can't be me - I don't have the clout.
> Yes we need a leader.

Or we don't.