octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUI work (was: Graphical help browser)


From: David Grundberg
Subject: Re: GUI work (was: Graphical help browser)
Date: Tue, 25 Nov 2008 21:20:57 +0100
User-agent: Thunderbird 2.0.0.17 (X11/20080925)

Jordi Gutiérrez Hermoso skrev:
Although I happen to be be at the stage where I'm just learning Qt,
and these are the benefits I see:

    1) Completely free and cross platform. I understand compiling Qt
    on Windows with MinGW is trivial, whereas GTK+ is more of a
    challenge, but correct me if I'm wrong.

    2) Highly themable and uses native widgets. I think that we don't
    really *need* a GUI to begin with; we're just trying to put pretty
    pink bows and unicorns on top of Octave in order to give our users
    warm fuzzy feelings, and I know native widgets are a big warm
    fuzzy feeling, especially for Mac users. I personally am also
    really happy with Qt now that I recently found it can also
    completely emulate GTK+ looks with a specialised theme[1].

    3) Nice tools to go with it (I rather like Qt Designer better than
    Glade).

    4) Big players prefer it, so I am guessing they have good reasons
    for it.

I don't think Qt is a meta-toolkit, i.e. just because it has native components/commands/widgets and you use this to create a GUI, the program will still be a Qt program, and will not look like a native win32 or GTK+ program. This is a common misconception though, I mean, GTK+ is also themable, and it's possible to make e.g. buttons to look like the user's "native" buttons. But the layout padding will be totally off, the menus will have the items in wrong order and the shortcuts will be wrong for any platform but the one it was designed for. This is true for Qt too, or any other multiplatform toolkit.

Neither wxWidgets, GTK+ or Qt makes it possible to design once and get a native look-and-feel across all platforms. (Trust me, I recently tried all these toolkits out.) Most of them don't even have basic things like a layout manager that automatically selects the right padding for the current platform. If one wants a truly native gui, one must take the platform differences into consideration and carefully design the gui for each platform. I think it's better to actually run the native toolkit for each platform you want your program to run on. (Sorry wxWidgets) There are no shortcuts to true native experience.

Basically what I'm saying is, if you want your program to run on MacOS X, design everything in detail to be exactly like a MacOS X application. The easiest way to do this is to run Apple's toolkit. The same thing goes for every other desktop environment (GTK+ is easiest for GNOME, Qt for KDE, WinForms/win32 for Windows, etc..)

Just my .02 crowns...

David


reply via email to

[Prev in Thread] Current Thread [Next in Thread]