Tkinter: The good, the bad, and the ugly!
Adam Skutt
askutt at gmail.com
Tue Jan 18 19:23:30 EST 2011
On Jan 18, 6:36 pm, rantingrick <rantingr... at gmail.com> wrote:
On Jan 18, 4:57 pm, Adam Skutt <ask... at gmail.com> wrote:
> On Jan 18, 4:45 pm, Arndt Roger Schneider <arndt.ro... at addcom.de>
> > > E.g. a button is:
> > > A function gets asychnronously performed in response to
> > > a finger/mouse click and release inside a certain screen area.
> > No, that is not the definition of a 'button', not even when we choose
> > to ignore how it is rendered, which you cannot ignore even if you wish
> > to pretend you can. Otherwise, I could always treat hyperlinks and
> > buttons as equivalent and even interchangeable. Unfortunately, they
> > are no such things.
> What! YES it is Adam! And you just exposed yourself as an
> argumentative moron!
>
> A hyperlink and a button are EXACTLY the same thing "functionality"
> wise.
:active, :visited:, :hover, and the concept of "onhover" all would
like to have a word with you. They have different presentation which
yields to different functionality: if it's important to tell a user
"Hey, you've been there before", then a button is entirely unsuitable,
while a hyperlink is designed precisely for that situation.
Hyperlinks change their presentation to indicate mouse focus
(nevermind the mouse cursor itself normally), buttons don't
necessarily do either[1]. Hyperlinks can certainly decay to become
button-like, but buttons cannot do everything hyperlinks can do.
Checkboxes and radio buttons are a much better rebuttal, as they
usually present "almost" the same API and expect the same model on
part of the application programmer. It's the "almost" that kills us:
radio buttons only behave in the desired way when part of a button
group, forcing us to be cognizant of the fact we're creating radio
buttons (since we must create button groups as well). Checkboxes
support tri-state functionality, and sometimes radiobuttons do as
well. Pushbuttons do no such thing[2].
It'd be nice to be able to support the abstract notion of a "button"
and get what I wanted, but that requires guessing at intent and
computers are notoriously lousy at that.
> The fact that they look different has nothing to do with the
> argument.
Actually it does, but they not only look different, they /behave/
differently. Both in terms of how a user interacts with them, and in
terms of how we interact with them in code.
> More argumentative crap. Adam you are incapable of compromise or
> reason... or maybe both. Try more facts next time.
I'm not the one suggesting that the only difference between a
hyperlink and a button is how they are rendered, FFS man, have you
ever even used a modern GUI? Are you posting from tin?
Adam
[1] Even when they do, it's not intended to be controlled by the
application. Native button widgets have no real built-in support for
user-controlled styling on mouse focus, you'd have to do the drawing
yourself (at which point you might as well write a custom widget).
[2] I'm ignoring the UI problems with radio buttons and checkboxes, of
course. Point is, even among things where the differences are subtle,
the differences have inescapable ramifications on the code I write.
More information about the Python-list
mailing list