....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 1920
On 2/11/06, Kevin Walzer <sw@wordtech-software.com> wrote: 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?
The Dabo demo comes with several games written that have no database
stuff at all. According to the developers (one of whom develops on OS
X, to answer your other question), they started out creating a tool
for database apps, but the response has been so strong on the UI side
that they've spent most of their time making the dabo.ui module able
to be used by iteself.
I don't do any development work with databases, and I've used Dabo for
several internal apps. The stuff I used to write in wxPython I now
write in Dabo.
--
# p.d.
On 2/11/06, Kevin Walzer <sw@wordtech-software.com> wrote: Also, it seems very Windows/Linux-centric. Is anyone using it on OS X?
I almost forgot: take a look at this screencast: http://leafe.com/screencasts/sizers2.html
It's the second part of a demonstration on using sizers in the Dabo
visual designer tool. The first part was done on Linux, and the saved
file was copied over unchanged to OS X, where the demo was completed.
--
# p.d.
On 2/11/06, Kevin Walzer <sw@wordtech-software.com> wrote: 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?
Yes, actually. But thats not the point, and a trivial dialog isn't
enough to really judge Tile anyway. 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.
That depends almost totally on you and your skills, doesn't it? I'm an
unabashed fan of wxPython, so naturally I lean that way, but I
wouldn't deny that is has a learning curve. It's famous "C++ like API"
has seen vast improvement in the last few releases, by the way, and is
much more pythonic than a lot of people seem to believe - no more
from wxPython import *, for example. I certainly find it's API more
pythonic than Tkinters.
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.
I can't possibly see how an available range of GUI toolkits is a
detriment to a *language*. I can see (but don't neccesarily agree)
that is detrimental to a desktop environment or whatever, but not a
language. By that standard C is the worst language to ever exist, C++
only marginally better, and stuff like Visual FoxPro the best of all.
-- Kevin Walzer iReveal: File Search Tool http://www.wordtech-software.com
Kevin Walzer: Do these screenshots look "non-native" to you?
http://www.wordtech-software.com/ireveal-mac.png
Yes. I don't use a Mac much but the following are really obvious.
The column header icons don't fit within the header. The scroll bar is
squished up too thin. The icons are from Windows. http://www.wordtech-software.com/ireveal-windows.png
Yes. The archetype here is Windows XP Explorer. Icons too large.
Icons jaggy due to lack of alpha compositing. Icon text too long but no
label for entry field. Weird discontinuity between toolbar and list.
List header too tall. List has alternating background. Status bar not
indented. No resize indicator in status bar. Line between columns.
Vertical scroll bar ends at bottom of horizontal scroll bar rather than
top. Scroll bars use dithered background rather than graduated smooth
background. http://www.wordtech-software.com/ireveal-linux.png
Totally native. If you are still using a 10 year old desktop
environment.
Neil
Kevin Walzer <sw@wordtech-software.com> writes:
[...] Commercial Qt is a little out of my price range.
Commercial *PyQt* (including a license for Qt for use only with PyQt)
is $400 (USD) per developer (plus an extra $300/year if you want
upgrades). That's compared to Qt license for use *with C++* varying
from $1690 to $6260. So PyQt is 4-15 times cheaper than old-fashioned
C++ Qt! http://www.thekompany.com/products/blackadder/
Apparently you get mxODBC in that price, too. And the Blackadder
development environment itself, of course, though personally I
wouldn't use it.
PyQt 4 now seems to exist, though not as a stable release yet, so I
imagine it'll be a bit longer untill there's a release of Blackadder
that supports Qt 4. I recall the PyQt 2 --> PyQt 3 upgrade as being
fairly painless (in terms of code changes), though.
John
On Monday 13 February 2006 12:33 am, John J. Lee wrote: Kevin Walzer <sw@wordtech-software.com> writes: [...]
Commercial Qt is a little out of my price range.
Commercial *PyQt* (including a license for Qt for use only with PyQt) is $400 (USD) per developer (plus an extra $300/year if you want upgrades). That's compared to Qt license for use *with C++* varying from $1690 to $6260. So PyQt is 4-15 times cheaper than old-fashioned C++ Qt!
http://www.thekompany.com/products/blackadder/
Apparently you get mxODBC in that price, too. And the Blackadder development environment itself, of course, though personally I wouldn't use it.
PyQt 4 now seems to exist, though not as a stable release yet, so I imagine it'll be a bit longer untill there's a release of Blackadder that supports Qt 4. I recall the PyQt 2 --> PyQt 3 upgrade as being fairly painless (in terms of code changes), though.
There will never be a release of Blackadder that supports PyQt4.
Phil
Phil Thompson <ph**@riverbank computing.co.uk > writes: On Monday 13 February 2006 12:33 am, John J. Lee wrote: Kevin Walzer <sw@wordtech-software.com> writes: [...]
Commercial Qt is a little out of my price range.
Commercial *PyQt* (including a license for Qt for use only with PyQt) is $400 (USD) per developer (plus an extra $300/year if you want upgrades). That's compared to Qt license for use *with C++* varying from $1690 to $6260. So PyQt is 4-15 times cheaper than old-fashioned C++ Qt!
[...] PyQt 4 now seems to exist, though not as a stable release yet, so I imagine it'll be a bit longer untill there's a release of Blackadder that supports Qt 4. I recall the PyQt 2 --> PyQt 3 upgrade as being fairly painless (in terms of code changes), though.
There will never be a release of Blackadder that supports PyQt4.
Will there be a licensing deal that allows commercial use of PyQt
cheaper than the standard Qt C++ licenses?
John This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
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...
|
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,...
|
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
|
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 ...
|
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.
| |
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
|
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
|
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...
|
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...
|
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:
|
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...
| |
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
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...
|
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,...
|
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...
|
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();...
|
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...
| |
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
|
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...
| |