Clutter looks very promising to me, although i did not have the time yet to create some gui's with it so unfortunately i can not tell you much about it, if it's good or bad or something. Maybe you just want to try it out: https://clutter-project.org/
Edit: Hm just read that you're a newbie in c++, so i guess clutter won't be a good thing for you since you can't just drag n drop buttons etc. (i guess that is what you are searching for) :/ |
I love clutter. If you want a fully custom GUI rendered with openGL, it's a great library to use. It's pretty easy to use as well; although it does not have widgets, you can use it with GTK+ if you want.
Clutter is event based; it has it's own main loop which runs in the background. This makes it not a great lib for game development, but much more convenient for dynamic GUI development.
All in all, clutter is very simple to use. You make "actors" from images, or just shapes. You have functionality to easily set their opacity, position, rotation, connect events to function calls, drag and drop, scroll, etc.
You also can use a function called clutter_threads_add_timeout, which will launch a specified function at a specified interval in milliseconds. It can function as a non-high-accuracy critical game loop. I've actually successfully used it to make a fast paced 2D jet fighter game with success. Although I wasn't able to get a very high frame rate.
Clutter would be perfect for something like a board game, or card game or something like that.
You also can use cairo in a clutter app for high quality drawing. I've used it to implement a signal level meter and a spectral analyzer. There is an example of making an analog styled clock in the documentation as well.
The only thing I don't like about clutter is that in windows you need to have like 20 or something dll's in the same folder as your executable. It has a whole bunch of dependencies making it less portable than some other libs. It will however work fine on Windows, OS X and linux.