Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The obvious answer is Qt but I also use wxWidgets[0] for projects with serious GUI requirements and Nuklear[1] or libui[2] for simpler ones.

[0] https://github.com/wxWidgets/wxWidgets

[1] https://github.com/vurtun/nuklear

[2] https://github.com/andlabs/libui



Yup, love Qt, have been using it since v. 4 for personal stuff, and in the past couple years worked on a cross-platform native GUI app that used Qt professionally.

I'd advise anyone using it to stay away from playing with the stylesheets to customize the look and feel of controls. If you do, you're in for a world of pain, and will shed blood and tears trying to get the app to look consistent and presentable across platforms. Given that cross-platform development is already hard as it is, you don't need that additional difficulty.


I did an app in wxWidgets a while back, and it was really frustrating how many things didn't work as expected: I spent more time wiring up windows to work correctly than actually coding the app.

I don't know if wxWidgets has gotten any better over the years, and I can't remember the specific details of the problems -- just that certain windows HAD to be parents of certain others in order for them to work, even though there was no obvious reason why this would be the case, and there was no documentation explaining this.

The other two look interesting, though. I'll keep those around for future reference.


I wrote a large wx python app or two in the day and did not have that particular problem.


Good to know. They may have cleaned things up.

Or maybe I was doing something weird. For some reason the projects I'm trying to accomplish always seem to be the thing the library designer didn't anticipate. :|


I need to put in a warning about nuklear. As far as I can tell it has no documentation an is very difficult to get to work well in anything but the most trivial case. I put some work into it and came away very disappointed.

Two options that weren't mentioned were Nana and NanoGUI, which are both modern and under active development.


I use wxWidgets for Tarrasch, a chess GUI project I've been working on for years https://www.triplehappy.com. In general I am pretty happy with it. Largely it "just works" and I can do the things I expect to be able to do in the way I expect to be able to do them.


If QT had proper C# binding I'd be sold...


Have you tried Eto?




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

Search: