473,770 Members | 1,523 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Yet another GUI toolkit question...

....with a twist.

I'm undertaking my first semi-substantial Python GUI application after a
long time dabbling with the language.

I'm fairly experienced with Tcl/Tk, so Tkinter seems the obvious choice
to reduce my Python learning curve. However, my Tcl applications
typically make use of a *lot* of extensions to the core widget set, such
as BWidgets, tablelist, and Tile.

I've found minimal Tkinter wrappers for all of these extensions, but
they are all labelled "experiment al," lightly documented at best, and
little-used (as far as I can tell) by Python developers.

So: my question is, would it be more productive for me to wrestle with
these extensions when there doesn't seem to be much constituency for
their use, or would it be better/faster/more efficient for me to start
scaling the wxPython mountain?

For what it's worth, my application has to run on OS X and Windows, and
will be commercial, so this combination of requirements rules out
PyGTK/PyQt/just about every other cross-platform GUI toolkit.

Advice, especially from those Tkinter devs who look beyond the core
widget set for their apps, is appreciated!

--
Kevin Walzer
iReveal: File Search Tool
http://www.wordtech-software.com
Feb 11 '06
26 1919
Kevin Walzer <sw@wordtech-software.com> writes:
Unfortunately, PyGTK does not run natively on the Mac (it's X11 only).


There's some work in progress:
http://developer.imendio.com/wiki/Gtk_Mac_OS_X

--
Lawrence - http://www.oluyede.org/blog
"Anyone can freely use whatever he wants but the light at the end
of the tunnel for most of his problems is Python"
Feb 11 '06 #11
On 2/10/06, Kevin Walzer <sw@wordtech-software.com> wrote:
I'm undertaking my first semi-substantial Python GUI application after a
long time dabbling with the language.
.... So: my question is, would it be more productive for me to wrestle with
these extensions when there doesn't seem to be much constituency for
their use, or would it be better/faster/more efficient for me to start
scaling the wxPython mountain?


If you're going cross-platform, then wxPython is the toolkit to use.
It looks and works correctly on all platforms.

I worked with wxPython for a couple of years, and constantly struggled
with the ugle, C++ style syntax, and then discovered Dabo. Dabo is a
full 3-tier application framework, and its UI tier wraps wxPython. So
while you're using wxPython when you use dabo.ui, you're writing
clean, Pythonic code. I found that after playing around with Dabo for
a little bit, I could write apps that worked without constantly going
to the docs to look up some obscure constant or event name. The
authors are also extremely helpful, so if write your app using Dabo,
I'm sure that you'll have tons of support.

http://dabodev.com

--

# p.d.
Feb 11 '06 #12
Wow you are so wrong about Tk on OSX. Soon this is just not going to be
the case at all for any of the system Tcl/Tk runs on. The Tcl folks
have come out with a package called "Tile" that is going to be rolled
in. It gives you native L&F on OSX, Windows, Linux.

Robert

Feb 11 '06 #13
Robert Hicks wrote:
Wow you are so wrong about Tk on OSX. Soon this is just not going to be
the case at all for any of the system Tcl/Tk runs on. The Tcl folks
have come out with a package called "Tile" that is going to be rolled
in. It gives you native L&F on OSX, Windows, Linux.

This is good news if it happens, but right now it's just another dose of
"real soon now".

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/

Feb 11 '06 #14
Chris Mellon wrote:

If you're planning on selling an application, especially to OS X
users, then Tk is absolutely out of the question. It doesn't have even
the slightest resemblence to native behavior, and lacks the polish and
flash that occasionally lets a non-native app get away with it. Given
the limits you've stated, I believe your only options are wxPython and
writting 2 guis using PyWin/PyObjC. The second option requires
knowledge of the native tool sets for the respective platforms, so if
you don't have that I can only suggest wxPython. If you're used to Tk
you will face a learning curve, and you will need to look for or write
replacements for the custom widgets you've been using.


Do these screenshots look "non-native" to you?

http://www.wordtech-software.com/ireveal-mac.png
http://www.wordtech-software.com/ireveal-windows.png
http://www.wordtech-software.com/ireveal-linux.png

This application was developed in Tcl/Tk.

I think Tkinter is lagging behind Tk itself in terms of its advances
with theming and native look and feel, especially on OS X and Win XP.
Certainly a lot of Python developers don't seem well-informed about the
work that has been done to bring Tk back into the modern age. The
wrappers I mentioned above (some at a site that is offline but should be
back online shortly, I'm told) are bleeding-edge in Tkinter terms but
reflect work that started a couple of years ago in Tk. (The extension is
called "Tile" and will be part of the Tk core when it's released at v. 8.5).

That doesn't mean wxPython is out of the question. What I'm trying to
figure out is whether I will be up and running faster with Tkinter +
Tile (leaving me mainly to improve my proficiency with Python itself and
translate Tk into a Python idiom) or whether I should learn wxPython,
with its vastly different GUI paradigm, as well as Python.

If Tkinter + Tile + Bwidgets + Tablelist does the job, as I think it may
(and as it does with regular Tcl/Tk), then I will probably stick with
that. And perhaps I can then contribute some documentation somewhere on
how to use the Tile widgets in a Tkinter application, complete with
screen shots and working code for others to use. Such documentation is
sorely lacking right now.

The vast range of available GUI toolkits is one thing that partially
offsets Python's many virtues as a programming language. I realize I was
stepping into a fire swamp by even broaching the question. However, the
application I'm envisioning (accessing web services from a desktop GUI)
will benefit from the abundant Python libraries/wrappers that have
already been written, which are mostly lacking (or which would require
me to roll my own) in Tcl.
--
Kevin Walzer
iReveal: File Search Tool
http://www.wordtech-software.com
Feb 11 '06 #15
Steve Holden wrote:
Robert Hicks wrote:
Wow you are so wrong about Tk on OSX. Soon this is just not going to be
the case at all for any of the system Tcl/Tk runs on. The Tcl folks
have come out with a package called "Tile" that is going to be rolled
in. It gives you native L&F on OSX, Windows, Linux.

This is good news if it happens, but right now it's just another dose of
"real soon now".

regards
Steve


Not true. It's already available. I've shipped three open-source and one
commercial application making use of Tile.

The Tkinter wrapper is here:

http://mfranklin.is-a-geek.org/docs/Tile/index.html

The server is down at the moment but is supposed to be back online shortly.

--
Kevin Walzer
iReveal: File Search Tool
http://www.wordtech-software.com
Feb 11 '06 #16
Peter Decker wrote:
On 2/10/06, Kevin Walzer <sw@wordtech-software.com> wrote:
I'm undertaking my first semi-substantial Python GUI application after a
long time dabbling with the language.

...
So: my question is, would it be more productive for me to wrestle with
these extensions when there doesn't seem to be much constituency for
their use, or would it be better/faster/more efficient for me to start
scaling the wxPython mountain?


If you're going cross-platform, then wxPython is the toolkit to use.
It looks and works correctly on all platforms.

I worked with wxPython for a couple of years, and constantly struggled
with the ugle, C++ style syntax, and then discovered Dabo. Dabo is a
full 3-tier application framework, and its UI tier wraps wxPython. So
while you're using wxPython when you use dabo.ui, you're writing
clean, Pythonic code. I found that after playing around with Dabo for
a little bit, I could write apps that worked without constantly going
to the docs to look up some obscure constant or event name. The
authors are also extremely helpful, so if write your app using Dabo,
I'm sure that you'll have tons of support.

http://dabodev.com

--

# p.d.


Dabo looks interesting, but isn't it mainly for database applications?
Has any other kind of application been developed with it? Also, it seems
very Windows/Linux-centric. Is anyone using it on OS X?

--
Kevin Walzer
iReveal: File Search Tool
http://www.wordtech-software.com
Feb 11 '06 #17
Peter Decker wrote:
On 2/10/06, Kevin Walzer <sw@wordtech-software.com> wrote:
I'm undertaking my first semi-substantial Python GUI application after a
long time dabbling with the language.

...
So: my question is, would it be more productive for me to wrestle with
these extensions when there doesn't seem to be much constituency for
their use, or would it be better/faster/more efficient for me to start
scaling the wxPython mountain?


If you're going cross-platform, then wxPython is the toolkit to use.
It looks and works correctly on all platforms.

I worked with wxPython for a couple of years, and constantly struggled
with the ugle, C++ style syntax, and then discovered Dabo. Dabo is a
full 3-tier application framework, and its UI tier wraps wxPython. So
while you're using wxPython when you use dabo.ui, you're writing
clean, Pythonic code. I found that after playing around with Dabo for
a little bit, I could write apps that worked without constantly going
to the docs to look up some obscure constant or event name. The
authors are also extremely helpful, so if write your app using Dabo,
I'm sure that you'll have tons of support.

http://dabodev.com

--

# p.d.


Dabo looks interesting, but isn't it mainly for database applications?
Has any other kind of application been developed with it? Also, it seems
very Windows/Linux-centric. Is anyone using it on OS X?

--
Kevin Walzer
iReveal: File Search Tool
http://www.wordtech-software.com
Feb 11 '06 #18
Chris Mellon wrote:

If you're planning on selling an application, especially to OS X
users, then Tk is absolutely out of the question. It doesn't have even
the slightest resemblence to native behavior, and lacks the polish and
flash that occasionally lets a non-native app get away with it. Given
the limits you've stated, I believe your only options are wxPython and
writting 2 guis using PyWin/PyObjC. The second option requires
knowledge of the native tool sets for the respective platforms, so if
you don't have that I can only suggest wxPython. If you're used to Tk
you will face a learning curve, and you will need to look for or write
replacements for the custom widgets you've been using.


Do these screenshots look "non-native" to you?

http://www.wordtech-software.com/ireveal-mac.png
http://www.wordtech-software.com/ireveal-windows.png
http://www.wordtech-software.com/ireveal-linux.png

This application was developed in Tcl/Tk.

I think Tkinter is lagging behind Tk itself in terms of its advances
with theming and native look and feel, especially on OS X and Win XP.
Certainly a lot of Python developers don't seem well-informed about the
work that has been done to bring Tk back into the modern age. The
wrappers I mentioned above (some at a site that is offline but should be
back online shortly, I'm told) are bleeding-edge in Tkinter terms but
reflect work that started a couple of years ago in Tk. (The extension is
called "Tile" and will be part of the Tk core when it's released at v. 8.5).

That doesn't mean wxPython is out of the question. What I'm trying to
figure out is whether I will be up and running faster with Tkinter +
Tile (leaving me mainly to improve my proficiency with Python itself and
translate Tk into a Python idiom) or whether I should learn wxPython,
with its vastly different GUI paradigm, as well as Python.

If Tkinter + Tile + Bwidgets + Tablelist does the job, as I think it may
(and as it does with regular Tcl/Tk), then I will probably stick with
that. And perhaps I can then contribute some documentation somewhere on
how to use the Tile widgets in a Tkinter application, complete with
screen shots and working code for others to use. Such documentation is
sorely lacking right now.

The vast range of available GUI toolkits is one thing that partially
offsets Python's many virtues as a programming language. I realize I was
stepping into a fire swamp by even broaching the question. However, the
application I'm envisioning (accessing web services from a desktop GUI)
will benefit from the abundant Python libraries/wrappers that have
already been written, which are mostly lacking (or which would require
me to roll my own) in Tcl.
--
Kevin Walzer
iReveal: File Search Tool
http://www.wordtech-software.com
Feb 11 '06 #19
Steve Holden wrote:
Robert Hicks wrote:
Wow you are so wrong about Tk on OSX. Soon this is just not going to be
the case at all for any of the system Tcl/Tk runs on. The Tcl folks
have come out with a package called "Tile" that is going to be rolled
in. It gives you native L&F on OSX, Windows, Linux.

This is good news if it happens, but right now it's just another dose of
"real soon now".

regards
Steve


Not true. It's already available. I've shipped three open-source and one
commercial application making use of Tile.

The Tkinter wrapper is here:

http://mfranklin.is-a-geek.org/docs/Tile/index.html

The server is down at the moment but is supposed to be back online shortly.

--
Kevin Walzer
iReveal: File Search Tool
http://www.wordtech-software.com
Feb 11 '06 #20

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

Similar topics

6
6177
by: Martin Bless | last post by:
The good news: Along with Python-2.4 comes really good news to Windows users. Yes, you now CAN build extension modules yourself using the SAME C++ compiler and linker Python is built with itself. Everything you need is available at no costs (except download hassle and installation time). Once your system is set up properly its just a matter of running 'python setup.py build'. No longer waiting for someone else to build binaries and a...
0
1663
by: Chive Software | last post by:
Chive Software are pleased to announce a new version of its Apoc PDF Toolkit, part a of its Apoc suite of products. Apoc PDF Toolkit is a high quality software component that developers can add to their applications in order to manipulate existing PDF documents and create new PDF documents. Developed using Microsoft's ..NET environment, this 100% managed code toolkit is compatible with any .NET application such as ASP.NET applications,...
19
477
by: Jonathan Wilson | last post by:
Is it possible to use vcbuild with the free MS compiler toolkit, as in can someone with just the MS toolkit and no access to a copy of Visual Studio itself use vcbuild to compile a Visual Studio .NET 2003 project? Assuming it is possible, I can then work on getting my specific project to compile under vcbuild+platform SDK+Visual C++ compiler toolkit
2
1454
by: noleander | last post by:
I'm trying to get Vis C++ std to compile using /O2 optimizing flag. Many people have suggested downloading the MS C++ 2003 Toolkit ... it supposedly has C++ compiler bins that one could use. I downloaded the 2003 Toolkit ... but the bin files are identical (size, date, contents) as my existing Vis C++ compiler. I have listed the file sizes below. Can someone who has downloaded the 2003 Toolkit see what file sizes and fiel dates ...
11
1984
by: Manish Pansiniya | last post by:
Hello to all, we want to update resource online when administrator changes Localization database. can anybody tell me weather it is possible to run localization toolkit in command line or as batch process to generate satellite assembly ??? Reply ASAP whatever it is.
3
1473
by: Eric | last post by:
Hi, I'm just looking into the samples that are delivered withthe Enterprise Localization Framework/Toolkit. I have set it up and it all works fine. But.. now i have a question. I read a post, from a Microsoft employee i belief, and he stated the following: >3) The AutoPopulate feature doesn't work as well as I
6
1988
by: Rental | last post by:
I'm having the sam problem as described below with the Localization toolkit. Does anyone know if there is a solution to this problem. --->When attempting to generate resource dlls with --->LocalizationManagement.exe, I get an exception: --->Unable to generate loose file resources
6
2068
by: LP | last post by:
Hello, I am looking into ways to consume Web Service (developed in .NET/C#) from legacy COM based applications. Porting COM applications to .NET is not a viable option at this time. I am aware of SOAP Toolkit, but from what I am reading on msdn it's being retired by microsoft in favor of .NET. My question is should I still spend my time with SOAP Toolkit or just develop .NET assembly that consumes Web Service and expose it as COM. I...
24
2871
by: invitro81 | last post by:
Hello I've recently learnt python and I do love it! I congratulate all those geeks who produce this nice language; well, because I could be called a nearby newbee I've decided to improve my abilities by writing my own nice editor with python; so I've to choose among all those GUI toolkit's available there.. But I've no idea which one I should use to start with.. I've read that tkinter seems to be the de facto standart in the pyhon...
0
1964
by: vasudevram | last post by:
Hi group, xtopdf: PDF creation / conversion toolkit: alpha release of v1.3 This is actually a somewhat preliminary announcement, but may be of interest to developers / users who know Python and/or have earlier checked out my xtopdf PDF creation / conversion toolkit:
0
9592
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
9425
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,...
0
10058
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9870
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6678
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
5313
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...
0
5450
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3972
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
3
2817
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.