On Tue, Sep 17, 2013 at 9:51 AM, rusi <rustompm...@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. -- https://mail.python.org/mailman/listinfo/python-list