Shareware product using Tkinter
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I know there is a lot of talk about Tkinter being an antiquated toolkit, unsuitable for commercial software development. However, I am using Tkinter in one of my shareware programs: http://www.codebykevin.com/packetstream.html (there's a screenshot) This application makes use of some recent advances in Tk development, including Tile (see http://tkinter.unpythonic.net/wiki/TileWrapper for the Python wrapper). It also makes use of some nice Tkinter widgets such as ToolTip (http://tkinter.unpythonic.net/wiki/ToolTip). If you pay attention to some of the specifics of the platform you are targeting (this app is for Mac OS X users) and to other points of application design, such as icons (I find the Tango set to be very polished and well-suited for the Mac; it doesn't scream "Linux"), then I think it's quite possible to make a nice, polished, professional-looking application with Tkinter. I'm curious if anyone has thought about gathering a listing of other Tkinter applications, commercial or otherwise, that are well-designed/attractive. Perhaps a screenshot page at the Tkinter wiki or elsewhere? - -- Kevin Walzer Code by Kevin http://www.codebykevin.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD4DBQFFntpOEsLm8HXyq4sRAuxMAJQOpHKZf9dGrxO/0F0UVIPMr8vZAJsGIHT9 pYgEgO+j2Q83GocIWWOzqA== =7aqI -----END PGP SIGNATURE-----
On Fri, 05 Jan 2007 18:07:59 -0500 Kevin Walzer <kw@codebykevin.com> wrote: (...)
I'm curious if anyone has thought about gathering a listing of other Tkinter applications, commercial or otherwise, that are well-designed/attractive. Perhaps a screenshot page at the Tkinter wiki or elsewhere?
Cool idea, two apps that come to my mind are PySol (http://www.pysol.org/) and skencil (a.k.a. sketch, http://www.skencil.org/). Alas, both seem to plan to move away from Tkinter :( Michael
And there's always Rapyd-Tk (www.bitflipper.ca/rapyd) which is a graphical program designed to make it easier to write and maintain Tkinter applications in the first place. Given it's nature, it's not likely to move away from Tkinter. Cam Michael Lange wrote:
On Fri, 05 Jan 2007 18:07:59 -0500 Kevin Walzer <kw@codebykevin.com> wrote:
(...)
I'm curious if anyone has thought about gathering a listing of other Tkinter applications, commercial or otherwise, that are well-designed/attractive. Perhaps a screenshot page at the Tkinter wiki or elsewhere?
Cool idea, two apps that come to my mind are PySol (http://www.pysol.org/) and skencil (a.k.a. sketch, http://www.skencil.org/). Alas, both seem to plan to move away from Tkinter :(
Michael _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss
I'm creating a program which displays spreadsheet-like data using hundreds of labels. At first this works fine, however after a few redisplays it starts slowing down dramatically. A small test program, without the distractions of the real program is: from Tkinter import * def Go(): LabelList = [] for J in range(30): print J for L in LabelList: L.grid_forget() LabelList = [] for Row in range(20): for Col in range(20): L = Label(r,text='%s'%J) L.grid(row=Row,column=Col) LabelList.append(L) r.update_idletasks() r = Tk() r.after(1000,Go) r.geometry('800x600') r.mainloop() This runs quickly at first but gradually slows down to a crawl during the latter iterations. Anyone have any idea what is causing this to go slow or how I could speed it up? I'm running Python 2.4.3 on an Ubuntu 6.06 system. Thanks Cam Farnell
Cam Farnell wrote:
This runs quickly at first but gradually slows down to a crawl during the latter iterations. Anyone have any idea what is causing this to go slow or how I could speed it up? I'm running Python 2.4.3 on an Ubuntu 6.06 system.
grid_forget removes the widget from the screen, but it doesn't destroy it, nor does it remove them from the list of child widgets for the parent widget. either redesign your code to reuse widgets when possible, or make sure to call the "destroy" method on them. </F>
On Jan 7, 2008, at 2:06 PM, Cam Farnell wrote:
I'm creating a program which displays spreadsheet-like data using hundreds of labels. At first this works fine, however after a few redisplays it starts slowing down dramatically.
A small test program, without the distractions of the real program is:
from Tkinter import * def Go(): LabelList = [] for J in range(30): print J
Cam - this next line is probably the culprit. Calling forget doesn't delete the instance of the control, so when you create the new Labels below, you're building a huge stack of controls. I'd recommend simply updating the label text so that you reuse the existing controls.
for L in LabelList: L.grid_forget() LabelList = [] for Row in range(20): for Col in range(20): L = Label(r,text='%s'%J L.grid(row=Row,column=Col) LabelList.append(L) r.update_idletasks() r = Tk() r.after(1000,Go) r.geometry('800x600') r.mainloop()
This runs quickly at first but gradually slows down to a crawl during the latter iterations. Anyone have any idea what is causing this to go slow or how I could speed it up? I'm running Python 2.4.3 on an Ubuntu 6.06 system.
HTH, Tim
On Jan 7, 2008, at 2:06 PM, Cam Farnell wrote:
I'm creating a program which displays spreadsheet-like data using hundreds of labels. At first this works fine, however after a few redisplays it starts slowing down dramatically.
Also, have you considered using tkTable (part of the Tile project - see http://tktable.sourceforge.net/)? Tim
participants (5)
-
Cam Farnell -
Fredrik Lundh -
Kevin Walzer -
Michael Lange -
Tim Jones