I am looking for a GUI library with the following properties:
- Multiplatform (Windows, Unix) and preferably multi-compiler (Visual, GCC, Clang)
- Skinnable (i.e. good support for controlling the appearance of standard controls)
- Open and free for commercial use, no copyleft (i.e. MIT, Apache, no GPL)
The intended use is a technical desktop application, like Blender, Eclipse, or some music / video editing software, rather than a game or an MP3 player. It requires typical controls (a menu bar, buttons, edit boxes, checkboxes, preferably dockable windows, ...), I just would like to be able to customize their appearance. Other than that, wxWidgets would be perfect. The application is meant to be published under an Apache-like license, hence the problem with copyleft or commercial libraries.
I realize that such questions have been around for some time, but thus far I have not found a very promising candidate. Some libraries I've looked at more closely are:
- wxWidgets with wxUniversal: Sounds good, but I have read several reports that claim missing features and a lack of testing on common platforms; also it seems to be not very recently maintained. But I need a stable, reliable platform.
- Qt: Seems capable but the license is not compatible with the project.
- gtkmm: Is a possible candidate but the documentation is not ideal and to my understanding themes are meant to be installed separately on the operating system, not to be shipped with the application. I'm also unsure about the Windows support.
- IMGUI: The look appears very alien.
- JUCE: Seems very good, but again the license is not compatible.
I found an interesting overview here:
This goes through a list of programs with customized GUIs, many of which are good examples of what I would like to achieve. Apart from that, the article effectively seems to suggest that no appropriate library exists, but I would most appreciate any indication to the contrary, or some practical experiences with wxUniversal (and wxAUI). Thank you very much.