<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Who has experience with Qt 4 on OS X?</title>
	<atom:link href="http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/feed/" rel="self" type="application/rss+xml" />
	<link>http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/</link>
	<description>Ecchi nanowa ikenai to omoimasu</description>
	<lastBuildDate>Fri, 20 Aug 2010 09:05:42 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Daniel Lyons</title>
		<link>http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/comment-page-1/#comment-9656</link>
		<dc:creator>Daniel Lyons</dc:creator>
		<pubDate>Tue, 02 Dec 2008 18:12:29 +0000</pubDate>
		<guid isPermaLink="false">http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/#comment-9656</guid>
		<description>Psi, the Jabber messenger, is a cross-platform app implemented in QT and I used it on my Mac for years. It looks fine.

Cocoa programming is more fun than QT programming, but it&#039;s definitely not cross-platform. GNUstep is far from complete, to say nothing of the new Mac APIs that aren&#039;t implemented. But people have been making Mac apps in other toolkits for years without anyone being able to tell the difference. Take REALbasic, for example. My former employer, Matterform Media, makes Mac software using RB and nobody could tell it was using Carbon instead of Cocoa unless they were a programmer and went digging around inside the bundle.</description>
		<content:encoded><![CDATA[<p>Psi, the Jabber messenger, is a cross-platform app implemented in QT and I used it on my Mac for years. It looks fine.</p>
<p>Cocoa programming is more fun than QT programming, but it&#8217;s definitely not cross-platform. GNUstep is far from complete, to say nothing of the new Mac APIs that aren&#8217;t implemented. But people have been making Mac apps in other toolkits for years without anyone being able to tell the difference. Take REALbasic, for example. My former employer, Matterform Media, makes Mac software using RB and nobody could tell it was using Carbon instead of Cocoa unless they were a programmer and went digging around inside the bundle.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hongli</title>
		<link>http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/comment-page-1/#comment-9528</link>
		<dc:creator>Hongli</dc:creator>
		<pubDate>Wed, 08 Oct 2008 09:25:56 +0000</pubDate>
		<guid isPermaLink="false">http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/#comment-9528</guid>
		<description>Alex, I understand that OS X users are picky about UIs. But what&#039;s wrong with creating such an app with a cross-platform toolkit, while maintaining several branches of the same app, each branch with minor UI optimizations for the target platform? That&#039;s still easier than writing the entire app from scratch for OS X.</description>
		<content:encoded><![CDATA[<p>Alex, I understand that OS X users are picky about UIs. But what&#8217;s wrong with creating such an app with a cross-platform toolkit, while maintaining several branches of the same app, each branch with minor UI optimizations for the target platform? That&#8217;s still easier than writing the entire app from scratch for OS X.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/comment-page-1/#comment-9527</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Wed, 08 Oct 2008 07:36:13 +0000</pubDate>
		<guid isPermaLink="false">http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/#comment-9527</guid>
		<description>If you&#039;re going to develop an app on OSX, you need an OSX native interface. The average quality of OSX interface design and the degree to which the Human Interface Design guidelines are followed means that any one-fits-all solution is going to feel awkward and clunky on OSX. OSX users are also far more picky about their apps. Camino only exists because Firefox&#039;s OSX interface is a non-standard kludge.</description>
		<content:encoded><![CDATA[<p>If you&#8217;re going to develop an app on OSX, you need an OSX native interface. The average quality of OSX interface design and the degree to which the Human Interface Design guidelines are followed means that any one-fits-all solution is going to feel awkward and clunky on OSX. OSX users are also far more picky about their apps. Camino only exists because Firefox&#8217;s OSX interface is a non-standard kludge.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: VZ</title>
		<link>http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/comment-page-1/#comment-9518</link>
		<dc:creator>VZ</dc:creator>
		<pubDate>Wed, 01 Oct 2008 13:25:33 +0000</pubDate>
		<guid isPermaLink="false">http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/#comment-9518</guid>
		<description>Delphi buttons: in the simplest terms, they&#039;re ugly because Microsoft doesn&#039;t use them. For better or worse, the native LnF under Windows is the one of Microsoft applications (even though Office ones can be very, very different from stock Windows ones). So Delphi buttons do look out of place, possibly also because they were very widespread in very old Win16 apps.

Layout problems: difficult to comment without knowing what the exact problem was but in general it&#039;s true that it&#039;s very difficult to make sure that invalid code fails in the same way everywhere. We use asserts as much as possible to help detecting this but we only really [try to] guarantee that correct code works correctly under all platforms, not that incorrect code fails everywhere. In the case of sizer layout I&#039;m still very surprised that you had such discrepancy though, again, if you can reproduce it in a simple example you should consider reporting it as a bug in wx.

Dialogs: of course wx does have a way to do it, simply call SetSizerAndFit() instead of just SetSizer() for the top level sizer in your dialog. The dialog doesn&#039;t need to be resizeable for this to work, although it works even if it is, of course (it will be possible to resize the dialog to be larger but not smaller than the fitting size). Maybe you just needed to use wxSizer::SetItemMinSize() for your image window (assuming it doesn&#039;t implement DoGetBestSize() itself properly), again, difficult to say more without knowing the details.</description>
		<content:encoded><![CDATA[<p>Delphi buttons: in the simplest terms, they&#8217;re ugly because Microsoft doesn&#8217;t use them. For better or worse, the native LnF under Windows is the one of Microsoft applications (even though Office ones can be very, very different from stock Windows ones). So Delphi buttons do look out of place, possibly also because they were very widespread in very old Win16 apps.</p>
<p>Layout problems: difficult to comment without knowing what the exact problem was but in general it&#8217;s true that it&#8217;s very difficult to make sure that invalid code fails in the same way everywhere. We use asserts as much as possible to help detecting this but we only really [try to] guarantee that correct code works correctly under all platforms, not that incorrect code fails everywhere. In the case of sizer layout I&#8217;m still very surprised that you had such discrepancy though, again, if you can reproduce it in a simple example you should consider reporting it as a bug in wx.</p>
<p>Dialogs: of course wx does have a way to do it, simply call SetSizerAndFit() instead of just SetSizer() for the top level sizer in your dialog. The dialog doesn&#8217;t need to be resizeable for this to work, although it works even if it is, of course (it will be possible to resize the dialog to be larger but not smaller than the fitting size). Maybe you just needed to use wxSizer::SetItemMinSize() for your image window (assuming it doesn&#8217;t implement DoGetBestSize() itself properly), again, difficult to say more without knowing the details.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hongli</title>
		<link>http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/comment-page-1/#comment-9515</link>
		<dc:creator>Hongli</dc:creator>
		<pubDate>Mon, 29 Sep 2008 14:20:00 +0000</pubDate>
		<guid isPermaLink="false">http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/#comment-9515</guid>
		<description>Hi VZ, thanks for responding.

It&#039;d really like to know why you think Delphi buttons are ugly. The standard Delphi icons *are* ugly, but with the proper icons, they look fine to me. In fact, I use GTK icons in my Delphi applications. There&#039;s no native LnF, sure, but what&#039;s stopping you from implementing it by drawing the icon on top of the button?
But interesting, I reviewed the wxButton API again and I now see that it&#039;s possible to create stock buttons. I guess this is good enough for most purposes on GTK 2, though ideally I&#039;d like to have buttons with icon + label on Windows as well.

As for layout, I&#039;m not talking about fixed layout. I&#039;ve always used sizers. The thing is they behave slightly different in undocumented ways on different platforms. I haven&#039;t been able to pin down the exact differences. But I once encountered the following case: I was trying to create a panel within a tab. The panel would contain a list control on the left and a grid control and HTML widget on the right. The layout worked properly on wxGTK, but once run on Windows, all controls would align to the top left, overlapping each other. It took me a while to fix that. I don&#039;t remember what exactly caused this problem, or how I fixed it. It *seemed* that I made a mistake in the layout code. Granted, it was probably my fault, but it would have been nice if wxWidgets showed this problem on wxGTK as well so that I can fix everything on Linux, instead of having to fix something on Linux and other things on Windows.
I&#039;ve run into such layout problems several times.

Another problem that I&#039;d encounter often is related to resizing dialogs. I can tell GTK that a dialog is non-resizable. GTK would automatically resize the dialog based on the recommended size information provided by the widgets. wxWidgets doesn&#039;t seem to have a way to do this in a clean way. For example, a while ago I was writing a simple image viewer. One starts an image viewer in a directory, and it would display the first image on that directory. Upon pressing Page Down, it would display the next image in that directory. I want the dialog to be as small as it could be, while still displaying the entire image. So when the application is displaying a 200x200 image, I want the dialog to resize to 200x200, plus some additional space for status bar that&#039;s in the dialog. GTK can do this automatically, but with wxWidgets I have to call Layout and a few other methods manually. Furthermore, wxWidgets seems only to be able to grow the dialog. I couldn&#039;t find a way to shrink the dialog to a minimum size. So if the application was displaying a 400x400 image and is now displaying a 200x200 image, it would remain to be the same size instead of shrinking.

It&#039;s all about little issues like this. These experiences apply to wxWidgets 2.6 and 2.8.</description>
		<content:encoded><![CDATA[<p>Hi VZ, thanks for responding.</p>
<p>It&#8217;d really like to know why you think Delphi buttons are ugly. The standard Delphi icons *are* ugly, but with the proper icons, they look fine to me. In fact, I use GTK icons in my Delphi applications. There&#8217;s no native LnF, sure, but what&#8217;s stopping you from implementing it by drawing the icon on top of the button?<br />
But interesting, I reviewed the wxButton API again and I now see that it&#8217;s possible to create stock buttons. I guess this is good enough for most purposes on GTK 2, though ideally I&#8217;d like to have buttons with icon + label on Windows as well.</p>
<p>As for layout, I&#8217;m not talking about fixed layout. I&#8217;ve always used sizers. The thing is they behave slightly different in undocumented ways on different platforms. I haven&#8217;t been able to pin down the exact differences. But I once encountered the following case: I was trying to create a panel within a tab. The panel would contain a list control on the left and a grid control and HTML widget on the right. The layout worked properly on wxGTK, but once run on Windows, all controls would align to the top left, overlapping each other. It took me a while to fix that. I don&#8217;t remember what exactly caused this problem, or how I fixed it. It *seemed* that I made a mistake in the layout code. Granted, it was probably my fault, but it would have been nice if wxWidgets showed this problem on wxGTK as well so that I can fix everything on Linux, instead of having to fix something on Linux and other things on Windows.<br />
I&#8217;ve run into such layout problems several times.</p>
<p>Another problem that I&#8217;d encounter often is related to resizing dialogs. I can tell GTK that a dialog is non-resizable. GTK would automatically resize the dialog based on the recommended size information provided by the widgets. wxWidgets doesn&#8217;t seem to have a way to do this in a clean way. For example, a while ago I was writing a simple image viewer. One starts an image viewer in a directory, and it would display the first image on that directory. Upon pressing Page Down, it would display the next image in that directory. I want the dialog to be as small as it could be, while still displaying the entire image. So when the application is displaying a 200&#215;200 image, I want the dialog to resize to 200&#215;200, plus some additional space for status bar that&#8217;s in the dialog. GTK can do this automatically, but with wxWidgets I have to call Layout and a few other methods manually. Furthermore, wxWidgets seems only to be able to grow the dialog. I couldn&#8217;t find a way to shrink the dialog to a minimum size. So if the application was displaying a 400&#215;400 image and is now displaying a 200&#215;200 image, it would remain to be the same size instead of shrinking.</p>
<p>It&#8217;s all about little issues like this. These experiences apply to wxWidgets 2.6 and 2.8.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: VZ</title>
		<link>http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/comment-page-1/#comment-9514</link>
		<dc:creator>VZ</dc:creator>
		<pubDate>Mon, 29 Sep 2008 13:47:11 +0000</pubDate>
		<guid isPermaLink="false">http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/#comment-9514</guid>
		<description>[disclaimer: I&#039;m a wxWidgets developer]

I was pointed to this post by someone who asked me whether the problems you pointed out it in wxWidgets were really valid and, well, all I can say is that I&#039;m really puzzled as to how did you arrive at them. Briefly:

- wxWidgets doesn&#039;t support buttons with both text and bitmaps because they&#039;re not part of native LnF neither under Windows nor Mac (the latter does have the native equivalent of wxBitmapButton which is used there, and the next version of will also implement support for such buttons under the former now that Vista has finally added them and so there is a native LnF for them). Delphi buttons are trivial to implement if you need them but they look ugly and just scream amateur. Finally, wxWidgets does support (stock) buttons with bitmaps under GTK+ since a long time so the linked screenshot could well have been implemented using it.

- You can construct child widget under one window and then reparent it under another one. It&#039;s true that you can&#039;t create a child _window_ without any parent (under any OS/toolkit AFAIK) but you can construct the C++ _object_ corresponding to it and only Create() it once the parent is known. This is atypical as the top-down GUI creation is certainly the norm but not impossible by any means.

- wxWidgets has a single layout mechanism for all platform called sizers. If you can produce a layout using sizers which looks right under Linux but is broken under Windows, please let us know (but I&#039;d be surprised if you managed to do it). OTOH if you use absolute positioning then your layout will definitely be broken (in different ways) anywhere but well, this is the case of getting what one deserves.

Qt does have advantages compared to wxWidgets, although IMO they don&#039;t compensate for the main advantage of wx which is its use of native widgets. But the above ones are not among wxWidgets drawbacks.

VZ</description>
		<content:encoded><![CDATA[<p>[disclaimer: I'm a wxWidgets developer]</p>
<p>I was pointed to this post by someone who asked me whether the problems you pointed out it in wxWidgets were really valid and, well, all I can say is that I&#8217;m really puzzled as to how did you arrive at them. Briefly:</p>
<p>- wxWidgets doesn&#8217;t support buttons with both text and bitmaps because they&#8217;re not part of native LnF neither under Windows nor Mac (the latter does have the native equivalent of wxBitmapButton which is used there, and the next version of will also implement support for such buttons under the former now that Vista has finally added them and so there is a native LnF for them). Delphi buttons are trivial to implement if you need them but they look ugly and just scream amateur. Finally, wxWidgets does support (stock) buttons with bitmaps under GTK+ since a long time so the linked screenshot could well have been implemented using it.</p>
<p>- You can construct child widget under one window and then reparent it under another one. It&#8217;s true that you can&#8217;t create a child _window_ without any parent (under any OS/toolkit AFAIK) but you can construct the C++ _object_ corresponding to it and only Create() it once the parent is known. This is atypical as the top-down GUI creation is certainly the norm but not impossible by any means.</p>
<p>- wxWidgets has a single layout mechanism for all platform called sizers. If you can produce a layout using sizers which looks right under Linux but is broken under Windows, please let us know (but I&#8217;d be surprised if you managed to do it). OTOH if you use absolute positioning then your layout will definitely be broken (in different ways) anywhere but well, this is the case of getting what one deserves.</p>
<p>Qt does have advantages compared to wxWidgets, although IMO they don&#8217;t compensate for the main advantage of wx which is its use of native widgets. But the above ones are not among wxWidgets drawbacks.</p>
<p>VZ</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tore Darell</title>
		<link>http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/comment-page-1/#comment-9513</link>
		<dc:creator>Tore Darell</dc:creator>
		<pubDate>Mon, 29 Sep 2008 12:08:07 +0000</pubDate>
		<guid isPermaLink="false">http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/#comment-9513</guid>
		<description>And they&#039;re probably right.. On Linux Gtk looks and works great, it feels native, solid and is easy on the eye, but it uses a completely different paradigm from OS X. I guess that&#039;s the major problem with most cross-platform UI toolkits.. Firefox&#039;s XUL/Gtk integration is only now becoming acceptable to me for everyday use, and it still feels like it&#039;s going to fall apart when I click a button.</description>
		<content:encoded><![CDATA[<p>And they&#8217;re probably right.. On Linux Gtk looks and works great, it feels native, solid and is easy on the eye, but it uses a completely different paradigm from OS X. I guess that&#8217;s the major problem with most cross-platform UI toolkits.. Firefox&#8217;s XUL/Gtk integration is only now becoming acceptable to me for everyday use, and it still feels like it&#8217;s going to fall apart when I click a button.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hongli</title>
		<link>http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/comment-page-1/#comment-9512</link>
		<dc:creator>Hongli</dc:creator>
		<pubDate>Mon, 29 Sep 2008 11:55:42 +0000</pubDate>
		<guid isPermaLink="false">http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/#comment-9512</guid>
		<description>Yes I have. I like GTK a lot, but apparently Mac people have nothing but bad things to say about GTK: http://www.reddit.com/r/programming/comments/7392g/gtk_on_osx_is_finally_available/</description>
		<content:encoded><![CDATA[<p>Yes I have. I like GTK a lot, but apparently Mac people have nothing but bad things to say about GTK: <a href="http://www.reddit.com/r/programming/comments/7392g/gtk_on_osx_is_finally_available/" rel="nofollow">http://www.reddit.com/r/programming/comments/7392g/gtk_on_osx_is_finally_available/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tore Darell</title>
		<link>http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/comment-page-1/#comment-9511</link>
		<dc:creator>Tore Darell</dc:creator>
		<pubDate>Mon, 29 Sep 2008 11:43:09 +0000</pubDate>
		<guid isPermaLink="false">http://izumi.plan99.net/blog/index.php/2008/09/29/who-has-experience-with-qt-4-on-os-x/#comment-9511</guid>
		<description>I guess I&#039;m biased, being an Ubuntu guy and all, but I think Qt looks horrible on any platform :) It&#039;s probably the primary reason (along with the gazillion useless features) I hate using Opera. Have you considered Gtk? I do have a feeling that too will look horrible on OS X though..

Found a screen shot: http://gtk-cocoa.sourceforge.net/Gtk+-Cocoa.jpg - Not as horrible as I thought, but to a Mac user it would probably look and feel completely foreign..</description>
		<content:encoded><![CDATA[<p>I guess I&#8217;m biased, being an Ubuntu guy and all, but I think Qt looks horrible on any platform <img src='http://izumi.plan99.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  It&#8217;s probably the primary reason (along with the gazillion useless features) I hate using Opera. Have you considered Gtk? I do have a feeling that too will look horrible on OS X though..</p>
<p>Found a screen shot: <a href="http://gtk-cocoa.sourceforge.net/Gtk+-Cocoa.jpg" rel="nofollow">http://gtk-cocoa.sourceforge.net/Gtk+-Cocoa.jpg</a> &#8211; Not as horrible as I thought, but to a Mac user it would probably look and feel completely foreign..</p>
]]></content:encoded>
	</item>
</channel>
</rss>
