I know they aren’t the only choices, but here’s the ones I looked at.

My top 3 ideas are:
1) Qt, C++, Qt Creator (or Visual Studio / gcc / etc)
2) Swing, Java, Eclipse (or NetBeans, or IntelliJ)
3) SWT, Java, Eclipse (or NetBeans, or IntelliJ) (JFace rather than SWT?)

Some ideas that get honorable mention:
A) multiple native GUI toolkits (Windows, WPF, Expression Blend) (Mac OS X, Cocoa, Interface Builder) (GNOME, GTK+) (KDE, Qt)
B) REAL Studio (formerly REALBasic)
C) GTK#, C# and .NET, Mono

An absolute minimum is to have very correct native visual style for the widgets (Mac OS X – Cocoa Aqua ?) (Windows – not sure if it’s Windows Forms or WPF ?) (GNOME – GTK+ ?) (KDE – Qt ?).  Beyond that, it should do things like dialogs where the position of the (OK, Cancel) buttons is correct (for Windows 7, Mac OS X, GNOME, KDE), which I know Qt at least tries to do.  Probably a native app should use different defaults shortcuts for each OS.

I saw that Apple supports Swing, and that SWT has a native widget focus.  However, I don’t know how well they compare to Qt (especially on Mac OS X) for these things.

I may have ruled out REAL Studio too soon, but I’m not enthused about that path unless it’s really a lot better than the other choices (such as Qt, Swing, SWT).

My first cross-platform GUI desktop application is just a simple specialized object based image drawing utility (you can open a png image and draw objects on it, like rectangles or polygons, and resize / move / delete / copy etc these objects).

The places I got the most information on this were:
1) doc from Apple, Qt, etc (Qt had some good videos)
2) trying it out myself (and looking at screen shots)
3) the official mailing lists, such as qt-interest and mono-osx

At this point I’m leaning towards Qt.  More on that in my next post.