I have had some experience in cross platform programming. To begin with Visual Studio, code built on visual studio will not run inherently as the binaries compiled from Visual Studio wont be supported. You might try to develop in C# using Visual studio and then can use mono libraries to run that code on linux but wont recommend it at all. Another way would be to use gcc and compile ur code using mingw of cygwin on windows and use that compiled code on windows and use gcc compiler to get binaries in linux. As for ide which is available for both the operating systems I would suggest Eclipse.
But if you want a good suggestion for cross platform development, then you should focus on all the operating systems independently as each have major differences.
Further with respect to qt, they again use mingw/cygwin (for windows) and generic linux libraries so you can consider them too (they give some good functional libraries too). Its just depends on what you are building!