Linked by ephracis on Mon 23rd Jan 2012 13:18 UTC
General Development This is a call out for help on creating a consistent and native feeling on Mac OS X and Linux. As I have never owned a Mac and haven't used Linux as my main OS for over 3 years I need the community of OSNews to help me do this.
Thread beginning with comment 504258
To read all comments associated with this story, please click here.
Qt4
by chenxiaolong on Mon 23rd Jan 2012 18:10 UTC
chenxiaolong
Member since:
2011-12-05

I suggest using simply because it's able to create an almost native look on almost any platform. For example, it's uses the global menu on Mac OS X and Unity (patches merged in 4.8) and inherits the GTK theme when using a GTK desktop environment.

One of the best examples of showing the native looks of a Qt4 application on any platform would probably be VirtualBox.

On Mac OS X:
http://mac.appstorm.net/wp-content/uploads/2009/02/03_4_guest_addit...
http://static.arstechnica.com/1-failedunmount.jpg
http://img.skitch.com/20080903-rgadw7bh3w8ynjwcsttxu8p8dq.jpg

You can see how the gradients, buttons, dialog boxes, tabs, etc. all look consistent with other Mac applications.

On KDE and GNOME/Unity:
http://www.freetechie.com/gallery/albums/userpics/10001/Tabbed_Wind...
http://i.imgur.com/4n6AT.jpg

You can see how VirtualBox integrates into the desktop environments and how it uses the native GTK file selection dialog when used on GNOME.

----

When you selecting your toolkit, I think you should find one that "fits" in your existing code. Since Stoffi was written in C#, you should find a toolkit that has bindings in C#.

Qt has C#/.NET bindings for all of its modules (https://en.wikipedia.org/wiki/Qt_%28framework%29#Bindings). There's also GTK# if you decide to use GTK. Many people in the previous comments have recommended wxWidgets, but they do not (at least officially) have C# bindings.

Hope this helps ;)

Reply Score: 4

RE: Qt4
by stew on Mon 23rd Jan 2012 22:17 in reply to "Qt4"
stew Member since:
2005-07-06

VirtualBox is actually also a good example of the negative sides of relying on a cross platform toolkit: while it draws the widgets using native routines, the layout of the widget does not conform to the UI guidelines. Mac OS X specifies a certain distance that widgets are supposed to keep from window borders and other widgets. Qt or wxWidgets do not enforce these distances, nor do they enforce the default type faces or sizes.

By violating the layout guidelines, an application can draw using native widgets but still look alien to a Mac user.

Reply Parent Score: 2

RE[2]: Qt4
by ephracis on Mon 23rd Jan 2012 22:46 in reply to "RE: Qt4"
ephracis Member since:
2007-09-23

Ok, there's been several comments mentioning Qt4 and WxWidgets (both of which I've used before but only very, very, very briefly in other projects). However, I need to know what the drawbacks are when compared to making one interface for each environment (KDE, Gnome, Unity, LXDE, etc). What do I gain by going that route instead of opting for a "one toolkit to rule them all"? What are the drawbacks on Qt4 vs WxWidgets?

Reply Parent Score: 2