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

Anybody can share some recent experience with Gtk on Windows? In previous versions it worked, however results where quite "special" from a Windows point-of-view. Did they manage to get a more native feeling? Or is it still better to use wxwidgets on top?

I have some toy Qt projects for non-technical users, but with recent licensing stories around the Qt Company I'm looking at alternatives.




I tried gtk-rs on Windows last year (2019). Everything about it was alien.

- The theme was Adwaita. https://github.com/B00merang-Project/Windows-10 claims to be a Windows 10 GTK theme, but doesn't feel like Win32 to me. Win32 is mostly gray (with some white elements), while this theme is white.

- The title bar buttons were "missing images" because vcpkg's GTK installation forgot to include images.

- Using ShareX to Ctrl+PrintScreen (region screenshot), then clicking on a GTK window, included the shadow around the window. The shadow was custom-drawn, not delegated to Windows.

- Dragging a GTK window to the side of the screen produced custom-drawn blue rectangles, not native Windows Aero Snap. Aero Snap was custom-drawn.


So still only an option for porting few special applications for making them available at all and nothing for building applications purposely cross platform.


Well, most of QT libraries are LGPL, therefore you don't need a commercial license for a non open source project as long as you dynamic link against the Qt library and don't static link against it. On Windows it is easy to pack an application with all shared library dependencies, all you need is copying the shared libraries (*.dll files) to the executable directory. Unlike on Unixes, on Windows, the loader searches first the dependencies at the executable current directory or in directories listed in PATH variable.

Other alternatives are: WxWidgets; MFC - Microsft Foundation Classes that has GUI builder in Visual Studio IDE; Borland VCL - Visual Component Library; Sciter library which allows creating the GUI in html and has a C API. Another way is to build the application on top of Win32 GUI API that is well documented and has lots of examples, unlike X11-Xorg (X Windows System) used on Unixies, such as Linux distributions or BSD variants.




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

Search: