Qt does a pretty good job for C++ and Python, but it is not native if that is what you're looking for.
JavaFX would be a good approach if you are into JVM languages, but you might need to do some JNI wrappers to call stuff like system tray, as just like Qt it does its own rendering.
Some corporations, go the route of having common code for the business logic, and then create an abstraction layer for stuff like system tray, UI widgets and stuff. Although is does require additional development cost.
So you call something like show_tray_message "New Email" and have an implementation for each OS that you care about.
If you are using Haskell, have you tried Haskell Platform?