For cross platform GUIs I use CAPI[1] from Lispworks, and was one of the main reasons I purchased it after using free Common Lisp implementations for many years. It's a well designed and stable system for building native guis on macOS, Windows, Linux, Solaris and others with a single code base and well worth the price of admission for creating desktop software.
Speaking of the lisp family... I don't know how it's implemented, but Racket has a cross-platform GUI story that, based on some of my cursory explorations, seems to be good. DrRacket is presumably built on it, and that's a non-trivial cross-platform app.
http://docs.racket-lang.org/gui/index.html
It's a bit barebones, but it's very easy to use. You can also generate standalone executables effortlessly.
Racket seems to utilize GTK under-the-hood, which has a terrible accessibility story.
Racket uses cocoa for macos, win32 for windows, gtk+ for linux. But it is really minimal and you may find feature lacking.
For anyone interested in how Racket (Matthew Flatt) pulled it off : http://blog.racket-lang.org/2010/12/rebuilding-rackets-graph...
it's a pleasure to use, but takes up a huge amount of ram (~100M just to use the gui framework)
It looks excellent, and I love cl, but it's just too expensive.
These days there's also qtools which is pretty good.
Unfortunately Qtools (or, more precisely, CommonQt) was not ported to Qt5 yet, and thus looks ugly on hidpi displays :(