Python GUI?

Benjamin Kaplan benjamin.kaplan at case.edu
Tue Sep 17 13:57:26 EDT 2013


On Tue, Sep 17, 2013 at 9:51 AM, rusi <rustompmody at gmail.com> wrote:
> On Tuesday, September 17, 2013 9:49:28 PM UTC+5:30, Benjamin Kaplan wrote:
>> On Tue, Sep 17, 2013 at 7:55 AM, rusi  wrote:
>>
>> > On Thursday, September 12, 2013 10:21:49 PM UTC+5:30, Benjamin Kaplan wrote:
>>
>> >
>> >> The main difference between wx and qt is that qt looks native on every platform
>> >> while wx *is* native on every platform (it uses native controls wherever
>> >> possible). This means that wx integrates into the OS better, but your also more
>> >> likely to need OS-specific tweaks in wx, at least from my experience from a few
>> >> years ago.
>> >
>> > For someone who is GUI-challenged, can you please expand on that a bit?
>> > --
>>
>> Sure. Every platform provides its own GUI library (Cocoa on Mac OS X,
>> Win32 on Windows). Other programs that want to hook into yours, such
>> as screen readers, are familiar with the platform's native GUI
>> elements- it knows what a Win32 combo box is, and it knows how to read
>> the text inside it.
>>
>>
>> The other way to make a GUI is to take a blank canvas and draw on it
>> yourself. This is more flexible and provides a more consistent
>> experience across platforms, but unless you specifically go out of
>> your way to provide hooks for other programs to jump in, all they see
>> is a bunch of pixels on the screen. In addition, drawing your own
>> stuff won't necessarily give you the "normal for the operating system"
>> behavior on other things, like tab behavior. It's possible for
>> non-native GUI environments to mimic this behavior (and QT does a
>> pretty good job of this), but there's always going to be little things
>> that seem a bit off.
>
> Thanks for the explanation. However I am not able to square it up:
>
> You seem to be saying that QT draws on a blank canvas rather than calling out to the OS library.
> You also seem to be saying that QT (for the most part) Does the Right Thing for each platform.
> --

Right. The QT developers have been working for years to get their
controls to quack like the native ones, even though they aren't
native. They started from controls that looked and worked the same on
all platforms and have been trying to get them to play nicely with the
environment they're running in. wx has been working from the opposite
direction- they started with wrapping the native API and have been
working on getting their API to make programs come out the same even
when using different underlying toolkits. When I used wx about 5 years
ago, some of the layout got messed up when we first ran the program
(developed on Linux/GTK+)  on a Mac because of some differences
between how Carbon and GTK+ draw their controls.



More information about the Python-list mailing list