Discussion:
[Tkinter-discuss] tkinter extensions
Beinan Li
2013-05-18 22:09:43 UTC
Permalink
Hi Tkinter,

I'm new to the list and have to confess that I'm a newbie
that needs recommendations on high-level (compound) widgets based on
tkinter.
As far as I understand, I assume ttk has quite a number of high-level
widgets such as notebook,
but the inventory is still not as big as one may find in other toolkits
like wx or qt.
From tkinter website (http://wiki.python.org/moin/TkInter), I saw a list of
extensions:

-

Pmw <http://wiki.python.org/moin/Pmw> (http://pmw.sourceforge.net)
-

Tix <http://wiki.python.org/moin/Tix> (
http://www.python.org/doc/current/lib/module-Tix.html)
-

TkZinc <http://wiki.python.org/moin/TkZinc> (http://www.tkzinc.org)
-

Tkinter3000 <http://wiki.python.org/moin/Tkinter3000> (
http://tkinter.effbot.org)
-

How Tkinter can exploit Tcl/Tk
extensions<http://wiki.python.org/moin/How%20Tkinter%20can%20exploit%20Tcl/Tk%20extensions>

But not sure if that list still up to date.

Correct me if I'm wrong please.
I followed the links and found that at least Pmw, TkZink (last update 2007,
http://www.tkzinc.org/news/)
and Tkinter3000 (last update in 2006: http://effbot.org/zone/wck.htm) are
not under active dev.

Tix looks like already part of the stdlib, but this page (
http://stackoverflow.com/questions/12499465/tix-tutorials-in-python)
suggests that ttk can largely replace it. Personally I doubt it because if
that were the case, Tix (py2) or tkinter.tix (py3) wouldn't
coexist with ttk for this long. But I don't see a lot of tutorials about
how to use Tix with tkinter. That stackoverflow post is probably
the closest clue I can find. So I wonder if Tix has been widely adopted.

Then about using Tcl/Tk extensions directly (
http://wiki.python.org/moin/How%20Tkinter%20can%20exploit%20Tcl/Tk%20extensions
)
that seems to be the technique used by tkinter.tix under the hood (?). I
wonder, from your experience, if this approach can provide
acceptable stability and performance.

Please feel free to give other recommendations about compound widgets if
any. If you'd say that Tix is my best bet then any docs or
resources about it would be welcomed.

Thanks,
Beinan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tkinter-discuss/attachments/20130518/abd03d15/attachment.html>
Kevin Walzer
2013-05-18 22:36:11 UTC
Permalink
Hi Benian,

Tkinter indeed has a lot of extension packages. The Tkinter wiki is very
hit-or-miss in listing and documenting them, however.
Post by Beinan Li
Pmw <http://wiki.python.org/moin/Pmw> (http://pmw.sourceforge.net
<http://pmw.sourceforge.net/>)
PMW is somewhat outdated but still seems to be used in a lot of legacy
Tkinter apps. It is a pure-Python package and thus is easy to install
and use.
Post by Beinan Li
*
Tix
<http://wiki.python.org/moin/Tix> (http://www.python.org/doc/current/lib/module-Tix.html)
Tix is a binary (compiled) Tk extension with a Python wrapper. It is a
pure legacy extension that is now little used in the Tcl/Tk world. It
needs to be installed as part of Tcl/Tk before you can access it from
Tkinter.
Post by Beinan Li
TkZinc <http://wiki.python.org/moin/TkZinc> (http://www.tkzinc.org
<http://www.tkzinc.org/>)
Zinc is an enhanced Tkinter canvas extension that is, AFAIK, no longer
developed.

*
Post by Beinan Li
Tkinter3000
<http://wiki.python.org/moin/Tkinter3000> (http://tkinter.effbot.org
<http://tkinter.effbot.org/>)
I think this is a long-abandoned project of Frederick Lundh that he
never bothered to remove from his website.
Post by Beinan Li
How Tkinter can exploit Tcl/Tk extensions
<http://wiki.python.org/moin/How%20Tkinter%20can%20exploit%20Tcl/Tk%20extensions>
This page is not a list of extensions per se but documents how you can
call into Tcl/Tk and access the functionality of Tk extensions written
in Tcl even if they do not have a Python wrapper. This is very valuable
knowledge to have--it is how I access a wide range of Tk packages in my
apps.

To these, I'd add one more useful widget extension package--Jeff Epler's
wrapper for BWidgets, which is a very nice widget extension package for
Tcl/Tk. Unlike Tix, BWidgets is still widely used in Tcl/Tk apps and is
still actively developed as well. Here's the link for his package:

http://tkinter.unpythonic.net/bwidget/

BWidgets is now up to 1.9.x, the 1.7 release has some bugs, but the
package bundled with Jeff's code will at least help you get started.

HTH,
Kevin
--
Kevin Walzer
Code by Kevin/Mobile Code by Kevin
http://www.codebykevin.com
http://www.wtmobilesoftware.com
John W. Shipman
2013-05-19 01:52:33 UTC
Permalink
On Sat, 18 May 2013, Beinan Li wrote:

+--
| I'm new to the list and have to confess that I'm a newbie
| that needs recommendations on high-level (compound) widgets based on
| tkinter.
| As far as I understand, I assume ttk has quite a number of high-level
| widgets such as notebook,
| but the inventory is still not as big as one may find in other toolkits
| like wx or qt.
+--

I'm not familiar with Tkinter extensions, but here is a quick
reference for Tkinter 8.5, including ttk:

http://www.nmt.edu/tcc/help/pubs/tkinter/

The ttk module does include Notebook and Treeview and a few other
new ones.

I'm quite curious what widgets you need that are not in the basic
product.

Best regards,
John Shipman (john at nmt.edu), Applications Specialist
New Mexico Tech Computer Center, Speare 146, Socorro, NM 87801
(575) 835-5735, http://www.nmt.edu/~john
``Let's go outside and commiserate with nature.'' --Dave Farber
Alejandro Autalan
2013-05-19 05:43:55 UTC
Permalink
Post by Beinan Li
Hi Tkinter,
I'm new to the list and have to confess that I'm a newbie
that needs recommendations on high-level (compound) widgets based on
tkinter.
As far as I understand, I assume ttk has quite a number of high-level
widgets such as notebook,
but the inventory is still not as big as one may find in other toolkits like
wx or qt.
From tkinter website (http://wiki.python.org/moin/TkInter), I saw a list of
Pmw (http://pmw.sourceforge.net)
Tix (http://www.python.org/doc/current/lib/module-Tix.html)
TkZinc (http://www.tkzinc.org)
Tkinter3000 (http://tkinter.effbot.org)
How Tkinter can exploit Tcl/Tk extensions
But not sure if that list still up to date.
Correct me if I'm wrong please.
I followed the links and found that at least Pmw, TkZink (last update 2007,
http://www.tkzinc.org/news/)
and Tkinter3000 (last update in 2006: http://effbot.org/zone/wck.htm) are
not under active dev.
Tix looks like already part of the stdlib, but this page
(http://stackoverflow.com/questions/12499465/tix-tutorials-in-python)
suggests that ttk can largely replace it. Personally I doubt it because if
that were the case, Tix (py2) or tkinter.tix (py3) wouldn't
coexist with ttk for this long. But I don't see a lot of tutorials about how
to use Tix with tkinter. That stackoverflow post is probably
the closest clue I can find. So I wonder if Tix has been widely adopted.
Then about using Tcl/Tk extensions directly
(http://wiki.python.org/moin/How%20Tkinter%20can%20exploit%20Tcl/Tk%20extensions)
that seems to be the technique used by tkinter.tix under the hood (?). I
wonder, from your experience, if this approach can provide
acceptable stability and performance.
Please feel free to give other recommendations about compound widgets if
any. If you'd say that Tix is my best bet then any docs or
resources about it would be welcomed.
Thanks,
Beinan
Hello Beinan,

Maybe you can use Pygubu [1], a GUI builder that I'm working on, to
build more complex widgets in a "easy" way.
Includes the basic ttk widgets and some helpers and is inspired in Glade.

Regards.

[1] https://github.com/alejandroautalan/pygubu
[2] http://www.nmt.edu/tcc/help/pubs/tkinter/
Beinan Li
2013-05-19 20:30:01 UTC
Permalink
I'm going to reply to the three messages in this one post.

@Kevin: Thank you very much, Kevin! I had good memories with BWidgets on Tk
about 10 years ago (wow). Hope it now has even more to offer with tkinter.
I'm also curious about the performance and stability of the extensions.
Would they perform well with basic widgets together?


@John: I'm interested in some specialized widgets I saw in other toolkits,
such as the "rating" widget (NSLevelIndicator) in Cocoa.

@Alejandro: It sounds like a good idea to have an RAD tool for designing
widgets. I gave it a quick look. Does it support only python 3.2+(?) or is
it just that it requires py3.2 to run the toolkit itself but it can also
generate py2 stuff?

Thanks again to your input,
Beinan
------------------------------
Message: 3
Date: Sat, 18 May 2013 18:36:11 -0400
From: Kevin Walzer <kw at codebykevin.com>
To: tkinter-discuss at python.org
Subject: Re: [Tkinter-discuss] tkinter extensions
Message-ID: <5198025B.1040809 at codebykevin.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Hi Benian,
Tkinter indeed has a lot of extension packages. The Tkinter wiki is very
hit-or-miss in listing and documenting them, however.
Post by Beinan Li
Pmw <http://wiki.python.org/moin/Pmw> (http://pmw.sourceforge.net
<http://pmw.sourceforge.net/>)
PMW is somewhat outdated but still seems to be used in a lot of legacy
Tkinter apps. It is a pure-Python package and thus is easy to install
and use.
Post by Beinan Li
*
Tix
<http://wiki.python.org/moin/Tix> (
http://www.python.org/doc/current/lib/module-Tix.html)
Tix is a binary (compiled) Tk extension with a Python wrapper. It is a
pure legacy extension that is now little used in the Tcl/Tk world. It
needs to be installed as part of Tcl/Tk before you can access it from
Tkinter.
Post by Beinan Li
TkZinc <http://wiki.python.org/moin/TkZinc> (http://www.tkzinc.org
<http://www.tkzinc.org/>)
Zinc is an enhanced Tkinter canvas extension that is, AFAIK, no longer
developed.
*
Post by Beinan Li
Tkinter3000
<http://wiki.python.org/moin/Tkinter3000> (http://tkinter.effbot.org
<http://tkinter.effbot.org/>)
I think this is a long-abandoned project of Frederick Lundh that he
never bothered to remove from his website.
Post by Beinan Li
How Tkinter can exploit Tcl/Tk extensions
<
http://wiki.python.org/moin/How%20Tkinter%20can%20exploit%20Tcl/Tk%20extensions
This page is not a list of extensions per se but documents how you can
call into Tcl/Tk and access the functionality of Tk extensions written
in Tcl even if they do not have a Python wrapper. This is very valuable
knowledge to have--it is how I access a wide range of Tk packages in my
apps.
To these, I'd add one more useful widget extension package--Jeff Epler's
wrapper for BWidgets, which is a very nice widget extension package for
Tcl/Tk. Unlike Tix, BWidgets is still widely used in Tcl/Tk apps and is
http://tkinter.unpythonic.net/bwidget/
BWidgets is now up to 1.9.x, the 1.7 release has some bugs, but the
package bundled with Jeff's code will at least help you get started.
HTH,
Kevin
--
Kevin Walzer
Code by Kevin/Mobile Code by Kevin
http://www.codebykevin.com
http://www.wtmobilesoftware.com
------------------------------
Message: 4
Date: Sat, 18 May 2013 19:52:33 -0600 (MDT)
From: "John W. Shipman" <john at nmt.edu>
To: Beinan Li <li.beinan at gmail.com>
Cc: tkinter-discuss at python.org
Subject: Re: [Tkinter-discuss] tkinter extensions
Message-ID: <alpine.LFD.2.03.1305181949370.20210 at nmt.edu>
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
+--
| I'm new to the list and have to confess that I'm a newbie
| that needs recommendations on high-level (compound) widgets based on
| tkinter.
| As far as I understand, I assume ttk has quite a number of high-level
| widgets such as notebook,
| but the inventory is still not as big as one may find in other toolkits
| like wx or qt.
+--
I'm not familiar with Tkinter extensions, but here is a quick
http://www.nmt.edu/tcc/help/pubs/tkinter/
The ttk module does include Notebook and Treeview and a few other
new ones.
I'm quite curious what widgets you need that are not in the basic
product.
Best regards,
John Shipman (john at nmt.edu), Applications Specialist
New Mexico Tech Computer Center, Speare 146, Socorro, NM 87801
(575) 835-5735, http://www.nmt.edu/~john
``Let's go outside and commiserate with nature.'' --Dave Farber
------------------------------
Message: 5
Date: Sun, 19 May 2013 02:43:55 -0300
From: Alejandro Autalan <alejandroautalan at gmail.com>
To: li.beinan at gmail.com
Cc: "tkinter-discuss at python.org" <tkinter-discuss at python.org>
Subject: Re: [Tkinter-discuss] tkinter extensions
<
CAMicNw3weKeZ2RTtRwEB8+yEy3rRef7Bb7uisPMViPjwct12sw at mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Post by Beinan Li
Hi Tkinter,
I'm new to the list and have to confess that I'm a newbie
that needs recommendations on high-level (compound) widgets based on
tkinter.
As far as I understand, I assume ttk has quite a number of high-level
widgets such as notebook,
but the inventory is still not as big as one may find in other toolkits
like
Post by Beinan Li
wx or qt.
From tkinter website (http://wiki.python.org/moin/TkInter), I saw a
list of
Post by Beinan Li
Pmw (http://pmw.sourceforge.net)
Tix (http://www.python.org/doc/current/lib/module-Tix.html)
TkZinc (http://www.tkzinc.org)
Tkinter3000 (http://tkinter.effbot.org)
How Tkinter can exploit Tcl/Tk extensions
But not sure if that list still up to date.
Correct me if I'm wrong please.
I followed the links and found that at least Pmw, TkZink (last update
2007,
Post by Beinan Li
http://www.tkzinc.org/news/)
and Tkinter3000 (last update in 2006: http://effbot.org/zone/wck.htm)
are
Post by Beinan Li
not under active dev.
Tix looks like already part of the stdlib, but this page
(http://stackoverflow.com/questions/12499465/tix-tutorials-in-python)
suggests that ttk can largely replace it. Personally I doubt it because
if
Post by Beinan Li
that were the case, Tix (py2) or tkinter.tix (py3) wouldn't
coexist with ttk for this long. But I don't see a lot of tutorials about
how
Post by Beinan Li
to use Tix with tkinter. That stackoverflow post is probably
the closest clue I can find. So I wonder if Tix has been widely adopted.
Then about using Tcl/Tk extensions directly
(
http://wiki.python.org/moin/How%20Tkinter%20can%20exploit%20Tcl/Tk%20extensions
)
Post by Beinan Li
that seems to be the technique used by tkinter.tix under the hood (?). I
wonder, from your experience, if this approach can provide
acceptable stability and performance.
Please feel free to give other recommendations about compound widgets if
any. If you'd say that Tix is my best bet then any docs or
resources about it would be welcomed.
Thanks,
Beinan
Hello Beinan,
Maybe you can use Pygubu [1], a GUI builder that I'm working on, to
build more complex widgets in a "easy" way.
Includes the basic ttk widgets and some helpers and is inspired in Glade.
Regards.
[1] https://github.com/alejandroautalan/pygubu
[2] http://www.nmt.edu/tcc/help/pubs/tkinter/
------------------------------
Subject: Digest Footer
_______________________________________________
Tkinter-discuss mailing list
Tkinter-discuss at python.org
http://mail.python.org/mailman/listinfo/tkinter-discuss
------------------------------
End of Tkinter-discuss Digest, Vol 111, Issue 5
***********************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tkinter-discuss/attachments/20130519/e12bf51a/attachment.html>
Kevin Walzer
2013-05-19 23:09:39 UTC
Permalink
Post by Beinan Li
@Kevin: Thank you very much, Kevin! I had good memories with BWidgets on
Tk about 10 years ago (wow). Hope it now has even more to offer with
tkinter. I'm also curious about the performance and stability of the
extensions. Would they perform well with basic widgets together?
I've not observed any difference in the performance of BWidgets and
standard widgets.

--Kevin
--
Kevin Walzer
Code by Kevin/Mobile Code by Kevin
http://www.codebykevin.com
http://www.wtmobilesoftware.com
Loading...