K
Kevin Walzer
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?
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?