I have a few years of experience in cross-platform desktop development (Windows and MacOSX, not Linux (at least not for GUI apps)). Usually I create the GUI on MacOSX with Cocoa, and on Windows I use the old-fashioned Windows API. I have not used Qt because when I started it was still under the GPL license.
I find the native experience very important so I'll keep using Cocoa for Mac. However for Windows I am considering using the .NET framework for the GUI code. I have no experience integrating .NET code with an existing cross-platform C++ code base and it seems that I can go with C++/CLI or C#.
Has anyone done such an approach before? Did it work out well? Do you need to bundle the .NET framework with the installer? Does the added .NET code add a lot of weight to the final executable?