Hacker News new | past | comments | ask | show | jobs | submit login

AFAIK, Qt also uses the same approach (it does not use native widgets), yet it does not get the same bad reviews like Swing & JavaFX.

On the opposite, I think people generally like it.

I wonder why?




Perhaps because Qt occupies a couple of niches that don't have a particularly entrenched native look and feel or are not very widely used.

Home entertainment systems, in-vehicle entertainment systems, kiosks, medical devices, avionics, Linux desktop apps, printer displays, navigation systems, industrial equipment controls, these are the sort of things that Qt is mostly used for.

Do you use a Qt desktop or mobile app on a day to day basis? The only Qt app I have ever used is QtCreator. It's a good development environment, but the look and feel is definitely a bit weird.


Microsoft also did that in WPF.

For Windows PCs, it was already a widely used native look and feel. Also wide selection of native Win32 controls, mostly implemented in ComCtl32.dll.

Yet in WPF I can easily replicate native look and feels, if I want so.


That's because WPF like winforms used native windows controls under the hood. Calls would be marshaled via pinvoke.


Simplest way to verify, launch visual studio 2015, press Tools/Spy++, in Spy++ find the visual studio’s main window, you’ll see that Win32 thinks visual studio is a single window with no children, with class starting with “HwndWrapper[DefaultDomain;”

Unlike that, Spy++ itself uses Win32 (wrapped by MFC but it doesn’t matter) for GUI, you’ll see these SysTreeView32, msctls_statusbar32 and other native controls there.


I stand corrected - thank you. I don't have a windows machine anymore but as you said spy++ can tell you all you need to know. Hilarious to still see hungarian (hwnd - handle to a window).


While interop is indeed available if you need to consume a Win32 control (not without limitations but generally works), by default WPF doesn’t use native controls. Instead it paints stuff on GPU with Direct3D 9, and on top of that implements its own markup, styling, layout, animation, behaviors, composition, etc…


Thanks - I haven't touched windows desktop UI since GDI was the mechanism for drawing.


I have not used Qt, which is why I'm asking (but I've used Swing in the past)


Don't you use vlc?


No I don't.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: