I'm playing a lot with nana (http://nanapro.org/en-us/) nowadays. It is very lightweight and the API is really nice. It's not so feature complete or battle tested as Qt or WxWidgets but if your needs are simple it is a very good choice.
Few days ago I was searching for some lightweight GUI library for a plugin (I am familiar with Qt, WxWidgets, Win32++, MFC, but they are too big or have not quite 'modern' interface) and found Nana library. Didn't use it too much, but from what I've seen it's pretty easy and 'modern' way of implementing a GUI in C++.
A project Im having an eye on is nanapro
Its a very simple GUI framework for C++ and quite the opposite of Qt. But I havent found the time yet and I never did contribute to something, so I dont know how to start :/
Qt kinda makes using modern C++ a bit difficult. It has a memory model which isn't compatible AFAIK with the STL smart pointers.
I used to advocate for it, but then I tried using it again. I like the apps that come out, but I don't like the feeling I have while writing code for Qt.
You could try Nana, which looks nice to me, and I haven't seen any OSX users complaining about it's cross platform gui yet.
http://nanapro.org/en-us/blog/2016/05/an-introduction-to-nana-c-library/
​
Here you go. They work like this.
​
I'm not trying to tell you that nana is 100% inheritance free or doesn't use inheritance internally. But I would like you to know that we actually use inheritance way too much. It's a solution to a non-problem. Personally, I think yes we cannot dump them completely. However, it's a really big solution when you actually need small things. And we can work it out in those cases.
> From assignments in class, we were only exposed to using Eclipse to output words when we were dealing with object oriented programming like linked list; it was pretty boring doing that.
Well, there's a good reason for that: it is easy for the beginners. If you want to do any GUI, you need to master some GUI library, and most of them are quite complex.
You may take a look at nana which seem to be relatively easy to start with.
If you only need a simple GUI then you can use Nana - a modern C++ GUI library - and in An introduction to the widgets there's a list (with screenshots) of all currently supported controls.
The aforementioned Qt is good, so is GTK (though it's C, look up "gtkmm" for C++ bindings).
Both are pretty heavyweight though with lots of features (esp. Qt), so you might check out nana to see if it provides enough mileage for you. Modern C++ and simple to use.
I think it depends on what you are trying to achieve. Depending on your use case, even using the win32 API directly may not be as hard as it sounds.
For small GUIs, there is http://nanapro.org/en-us/
If you wanna try something completely different, there is also https://github.com/ocornut/imgui
If there is a library out there that's like what I'm looking for, that I just happened not to find... Have you taken a look at nana ? Very C++ instead of C, but only hacky support for Vulkan.
nana is using native windows. It is quite lightweight (static linking only) but one problem with nana is that it needs some kind of coding guideline because in current form a medium size application can quickly became a functional style mess generally because of library design.