473,699 Members | 2,416 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Tkinter--does anyone use it for sophisticated GUI development?

I'm a Tcl/Tk developer who has been working, slowly, at learning Python,
in part because Python has better support for certain kinds of
applications that I want to develop than Tcl/Tk does. Naturally, I
thought that I would use Tkinter as the GUI for these programs. However,
in doing research into GUI development techniques, sample code, and
showcase applications, what has struck me is how little sophisticated
GUI development seems to be done in Tkinter as compared to, say,
wxPython. I've found plenty of tutorials on how to do basic GUI stuff
with Tkinter, but that stuff pretty much ends with the core Tk widgets
(buttons, entry fields, scrollbars, and menu items).

Coming from Tcl/Tk, where there are a huge number of extension packages
to enhance the Tk widgets and which allow you to make really polished
GUI's, I'm struck mainly by how little of this stuff has made it over
into Tkinter/Python. For instance, I've developed several Tcl
applications that use the core Tk widgets, the Tile theming package, the
Bwidget set (great tree widget and listbox, which allows you to embed
images), and tablelist (an extremely flexible muti-column listbox
display). I've found Python wrappers for some of this stuff, but almost
no documentation on how to use them, and very little in the way of
actual applications making use of them--which is itself a red flag. And
most of the pure-Python extension stuff that I've found, such as Python
megawidgets, is pretty dated/ugly and lags far behind the comparable
stuff on the Tcl side.

Am I better off biting the bullet and learning wxPython--a different GUI
paradigm to go with the new language I'm trying to learn? I had hoped to
reduce my learning curve, but I'm very concerned that I simply can't do
what I want to do with Tkinter. What do other Tkinter developers think?
Oct 19 '06 #1
32 7470
Kevin Walzer wrote:
I'm a Tcl/Tk developer who has been working, slowly, at learning Python,
in part because Python has better support for certain kinds of
applications that I want to develop than Tcl/Tk does. Naturally, I
thought that I would use Tkinter as the GUI for these programs. However,
in doing research into GUI development techniques, sample code, and
showcase applications, what has struck me is how little sophisticated
GUI development seems to be done in Tkinter as compared to, say,
wxPython. I've found plenty of tutorials on how to do basic GUI stuff
with Tkinter, but that stuff pretty much ends with the core Tk widgets
(buttons, entry fields, scrollbars, and menu items).

Coming from Tcl/Tk, where there are a huge number of extension packages
to enhance the Tk widgets and which allow you to make really polished
GUI's, I'm struck mainly by how little of this stuff has made it over
into Tkinter/Python. For instance, I've developed several Tcl
applications that use the core Tk widgets, the Tile theming package, the
Bwidget set (great tree widget and listbox, which allows you to embed
images), and tablelist (an extremely flexible muti-column listbox
display). I've found Python wrappers for some of this stuff, but almost
no documentation on how to use them, and very little in the way of
actual applications making use of them--which is itself a red flag. And
most of the pure-Python extension stuff that I've found, such as Python
megawidgets, is pretty dated/ugly and lags far behind the comparable
stuff on the Tcl side.

Am I better off biting the bullet and learning wxPython--a different GUI
paradigm to go with the new language I'm trying to learn? I had hoped to
reduce my learning curve, but I'm very concerned that I simply can't do
what I want to do with Tkinter. What do other Tkinter developers think?
Its used in pymol. Also, look at my modest program at passerby.sf.net .
Not so sophisticated, but not completely simple either.

James
--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com/
Oct 19 '06 #2
wxPython is much more powerful and flexible. I would suggest moving
more in that direction.

On Oct 19, 3:29 pm, Kevin Walzer <k...@kevin-walzer.comwrote :
I'm a Tcl/Tk developer who has been working, slowly, at learning Python,
in part because Python has better support for certain kinds of
applications that I want to develop than Tcl/Tk does. Naturally, I
thought that I would use Tkinter as the GUI for these programs. However,
in doing research into GUI development techniques, sample code, and
showcase applications, what has struck me is how little sophisticated
GUI development seems to be done in Tkinter as compared to, say,
wxPython. I've found plenty of tutorials on how to do basic GUI stuff
with Tkinter, but that stuff pretty much ends with the core Tk widgets
(buttons, entry fields, scrollbars, and menu items).

Coming from Tcl/Tk, where there are a huge number of extension packages
to enhance the Tk widgets and which allow you to make really polished
GUI's, I'm struck mainly by how little of this stuff has made it over
into Tkinter/Python. For instance, I've developed several Tcl
applications that use the core Tk widgets, the Tile theming package, the
Bwidget set (great tree widget and listbox, which allows you to embed
images), and tablelist (an extremely flexible muti-column listbox
display). I've found Python wrappers for some of this stuff, but almost
no documentation on how to use them, and very little in the way of
actual applications making use of them--which is itself a red flag. And
most of the pure-Python extension stuff that I've found, such as Python
megawidgets, is pretty dated/ugly and lags far behind the comparable
stuff on the Tcl side.

Am I better off biting the bullet and learning wxPython--a different GUI
paradigm to go with the new language I'm trying to learn? I had hoped to
reduce my learning curve, but I'm very concerned that I simply can't do
what I want to do with Tkinter. What do other Tkinter developers think?
Oct 20 '06 #3
Kevin Walzer <kw@kevin-walzer.comwrite s:
Am I better off biting the bullet and learning wxPython--a different GUI
paradigm to go with the new language I'm trying to learn? I had hoped to
reduce my learning curve, but I'm very concerned that I simply can't do
what I want to do with Tkinter. What do other Tkinter developers think?
I haven't yet found the need to switch to wxPython. Tkinter is
something of a least common denominator and as such it's been ok for
the stuff I've used it for. However, tkinter's unpopularity is well
grounded:

- Tk widgets have their own look, which is both non-native and IMO ugly
- limited widget set, especially the widgets included with python
- clumsy programming interface (but wxpython is also clumsy)

If you look at IDLE (the fanciest Tkinter app I've examined) the code
is near incomprehensibl e.

I have yet to see a gui toolkit which doesn't suck. I'm not sure why
that is.

Sometimes instead of a gui, I put a local http server into the app,
and connect to it with a browser. Then I do the whole gui in html.
This has many advantages and often not that much of a downside.
There's a language called Picolisp in which this is the standard way
to do a gui. Picolisp includes a java applet that can do some stuff
that standard html widgets can't. These days I suppose it should use
AJAX.
Oct 20 '06 #4
Kevin Walzer wrote:
Coming from Tcl/Tk, where there are a huge number of extension packages
to enhance the Tk widgets and which allow you to make really polished
GUI's, I'm struck mainly by how little of this stuff has made it over
into Tkinter/Python. For instance, I've developed several Tcl
applications that use the core Tk widgets, the Tile theming package, the
Bwidget set (great tree widget and listbox, which allows you to embed
images), and tablelist (an extremely flexible muti-column listbox
display). I've found Python wrappers for some of this stuff, but almost
no documentation on how to use them, and very little in the way of
actual applications making use of them--which is itself a red flag.
on the other hand, such wrappers are usually extremely simple, and the
mapping between Python and Tk is trivial. there's simply not much to
add to the existing Tk module docs.
Am I better off biting the bullet and learning wxPython--a different GUI
paradigm to go with the new language I'm trying to learn?
that's almost designed to get "wx rul3z d00d" replies from the wx crowd.
let's see if they bite.
What do other Tkinter developers think?
"Those people who have nothing better to do than post on the Internet
all day long are rarely the ones who have the most insights"

if you want to reach Tkinter developers, the following forum might be
more appropriate:

http://mail.python.org/mailman/listinfo/tkinter-discuss

that list is more focussed on solving specific problems, though; Tkinter
developers just don't seem very interested in arguments about world
domination. guess we've inherited that from the Tcl world, or maybe
we're just too busy doing stuff ;-)

</F>

Oct 20 '06 #5
Paul Rubin <http://ph****@nospam.i nvalidwrote:
There's a language called Picolisp in which this is the standard way
to do a gui. Picolisp includes a java applet that can do some stuff
that standard html widgets can't. These days I suppose it should use
AJAX.
Yes, in fact it does.

The currently active "testing version"

http://www.software-lab.biz/1024/?download&picoLisp.tgz

also has a plain HTML GUI, enhanced by XMLHttpRequests , in a way that it
works transparently in browsers with or without JavaScript enabled. We
are using it in all our current projects.

- Alex
Oct 20 '06 #6
James Stroud wrote:
Also, look at my modest program at passerby.sf.net .
Not so sophisticated, but not completely simple either.
I did look at passerby--a nice app, and in a native Mac OS X version
also! (I'm a Mac developer.) Thanks for the pointer.

--
Kevin Walzer
Poetic Code
http://www.kevin-walzer.com
Oct 20 '06 #7
Fredrik Lundh wrote:
>
on the other hand, such wrappers are usually extremely simple, and the
mapping between Python and Tk is trivial. there's simply not much to
add to the existing Tk module docs.
I think I might simply have to bite the bullet, actually use some of
these documented wrappers, perhaps even tweak/improve them, and then
release something that shows what's possible with them. And perhaps even
write up some "user-friendly" docs. :-)
>
>Am I better off biting the bullet and learning wxPython--a different GUI
paradigm to go with the new language I'm trying to learn?

that's almost designed to get "wx rul3z d00d" replies from the wx crowd.
let's see if they bite.
That certainly wasn't my intention.
>
>What do other Tkinter developers think?

"Those people who have nothing better to do than post on the Internet
all day long are rarely the ones who have the most insights"

if you want to reach Tkinter developers, the following forum might be
more appropriate:

http://mail.python.org/mailman/listinfo/tkinter-discuss

that list is more focussed on solving specific problems, though; Tkinter
developers just don't seem very interested in arguments about world
domination. guess we've inherited that from the Tcl world, or maybe
we're just too busy doing stuff ;-)
I subscribe to that list. I agree that this particular question is
off-topic for that list.

By way of clarification, one of the things I have in mind in terms of
"sophistica ted GUI's" can be found on these pages at the Tcl'ers wiki:

http://wiki.tcl.tk/13636

This page is focused on Tcl/Tk apps using the Tile extension, but many
of these apps also use extensions like Tablelist and Tktreectrl. I
haven't seen any shiny screenshots of Python apps using these extensions
yet.

Another example, that doesn't use Tile, is PgAccess:

http://www.pgaccess.org/index.php?pa...gAccessEnglish

This app makes use of BWidgets and Tablelist, in particular, to good
effect.

This gives you some idea of the target I'm aiming at, anyway.

--
Kevin Walzer
Poetic Code
http://www.kevin-walzer.com/software/
Oct 20 '06 #8
Fredrik Lundh wrote:
>
on the other hand, such wrappers are usually extremely simple, and the
mapping between Python and Tk is trivial. there's simply not much to
add to the existing Tk module docs.
I think I might simply have to bite the bullet, actually use some of
these documented wrappers, perhaps even tweak/improve them, and then
release something that shows what's possible with them. And perhaps even
write up some "user-friendly" docs. :-)
>
>Am I better off biting the bullet and learning wxPython--a different GUI
paradigm to go with the new language I'm trying to learn?

that's almost designed to get "wx rul3z d00d" replies from the wx crowd.
let's see if they bite.
That certainly wasn't my intention.
>
>What do other Tkinter developers think?

"Those people who have nothing better to do than post on the Internet
all day long are rarely the ones who have the most insights"

if you want to reach Tkinter developers, the following forum might be
more appropriate:

http://mail.python.org/mailman/listinfo/tkinter-discuss

that list is more focussed on solving specific problems, though; Tkinter
developers just don't seem very interested in arguments about world
domination. guess we've inherited that from the Tcl world, or maybe
we're just too busy doing stuff ;-)
I subscribe to that list. I agree that this particular question is
off-topic for that list.

By way of clarification, one of the things I have in mind in terms of
"sophistica ted GUI's" can be found on these pages at the Tcl'ers wiki:

http://wiki.tcl.tk/13636

This page is focused on Tcl/Tk apps using the Tile extension, but many
of these apps also use extensions like Tablelist and Tktreectrl. I
haven't seen any shiny screenshots of Python apps using these extensions
yet.

Another example, that doesn't use Tile, is PgAccess:

http://www.pgaccess.org/index.php?pa...gAccessEnglish

This app makes use of BWidgets and Tablelist, in particular, to good
effect.

This gives you some idea of the target I'm aiming at, anyway.

--
Kevin Walzer
Poetic Code
http://www.kevin-walzer.com/software/
Oct 20 '06 #9
Kevin Walzer a écrit :
Am I better off biting the bullet and learning wxPython--a different GUI
paradigm to go with the new language I'm trying to learn? I had hoped to
reduce my learning curve, but I'm very concerned that I simply can't do
what I want to do with Tkinter. What do other Tkinter developers think?
Nobody mentionned it, but I think you should try PyQT and PyGTK before
wxPython. Myself, I do not like wx : it looks too much like the MFC.

PyGTK is good, but GTK doesn't work that well on windows. PyQT is very
good but you need Qt4 to get a free version for Windows. And it is GPL
so it might not be what you are looking for. Or you can pay for it and
get the non GPL version.
Oct 20 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

72
6962
by: Wim Vanhoof | last post by:
Dear all, I would like to announce that the department of computer science of the University of Namur, Belgium, is seeking a post-doctoral researcher for a one-year fellowship in the area of (logic-based) program development, analysis and transformation.
4
1812
by: Rob Meade | last post by:
....little function for count lines of code? I was going to do this a little while ago, hoping to count each line in each file in each folder etc etc, and then determine whether it was say ASP, HTML or comments....and give totals... Anyone got anything like this they dont mind sharing? Just curious...
37
2888
by: seberino | last post by:
I've been reading the beloved Paul Graham's "Hackers and Painters". He claims he developed a web app at light speed using Lisp and lots of macros. It got me curious if Lisp is inherently faster to develop complex apps in. It would seem if you could create your own language in Lisp using macros that that would be quite an advantage.... I realize that Python has operator overloading and OOP so I'm not sure.
0
2040
by: M.sajjad | last post by:
Five Steps to Rapid Development with TierDeveloper 3.0 Unlock the power of rapid development when you use TierDeveloper from AlachiSoft in your N-Tier application development. Follow the steps below to quickly design, generate, and deploy a great portion of your real-life N- Tier application. For free evaluation download please visit http://www.alachisoft.com/download.htm
6
1406
by: strvariant | last post by:
I'd like to get some feedback on what I call 'Analysis Bleed'. In past jobs I have noticed a trend that starts to develop after about 6 months. Once an employer sees that the apps I develop are doing what they wanted I always get asked to provide reports. Okay --- that's a primary function that the app provides, I'll write the reports like you want. But this seems to always lead to the employer requesting more and more reports and putting...
169
9080
by: JohnQ | last post by:
(The "C++ Grammer" thread in comp.lang.c++.moderated prompted this post). It would be more than a little bit nice if C++ was much "cleaner" (less complex) so that it wasn't a major world wide untaking to create a toolchain for it. Way back when, there used to be something called "Small C". I wonder if the creator(s) of that would want to embark on creating a nice little Small C++ compiler devoid of C++ language features that make...
2
201
by: dp_pearce | last post by:
I have some code that takes data from an Access database and processes it into text files for another application. At the moment, I am using a number of loops that are pretty slow. I am not a hugely experienced python user so I would like to know if I am doing anything particularly wrong or that can be hugely improved through the use of another method. Currently, all of the values that are to be written to file are pulled from the...
0
2836
by: texsum | last post by:
this article intends to share the experience of running projects using development software interfaces in the organization of Agile. And to have the opportunity to join the team used this method to see the different perspectives. From reading or hearing from others I think that would be useful for readers to be studied and applied. Or supplement the existing development process. The important thing to remember is always Agile methods no fixed...
0
8694
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8621
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
1
8928
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
7757
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6538
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5877
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4379
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
3060
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2355
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.