Here is another option which you do not mention, and I didn't notice mentioned here, but Lazarus is crossplatform, and is becoming more mature as it moves forward. Of course, like something written in Qt you would have to compile it for specific platforms. In my case, I've used Lazarus successfuly in a project that runs on Mac OSX, Linux, and Windows. Lazarus is a good RAD tool, and Object Pascal works well for most things I've written. Lazarus is a good option for application speed. It compares well to software written in c/c++. I'm not going to bother to back that up, there are case studies, and you can do your own testing if you have need to.
My impression of coding in c# using MonoDevelop has been that library-wise, specifically html, and audio a bit challenging. I've only been playing with c#/MonoDevelop for a few months, so I'm still quite new with the whole kit. I would guess that there is a bit of a speed price to pay since it is managed code. Again, I think research would suggest that compiled-only code would more often than not have a speed advantage over c#/.NET code.
Of course another option would be Java. I haven't done as much there, but it certainly is ubuiquitous, and does work well, again I would expect that Java code would be slower than compiled-only code, such as c/c++/Pascal.
One other option that comes to mind which has compilers for the three main platforms is Eiffel. I haven't been doing much with it these days, but I liked it when I did play with it. ymmv