如何在.NET应用程序中托管本机QWidget

时间:2015-12-11 13:33:27

标签: c# .net c++-cli qt5

我们有一个.NET 4.x项目和一个Qt 5.x项目。

我们想在.NET项目中使用Qt项目中的一个或多个QWidgets。理想情况下,如果可能,小部件将添加到表单控件中。

解决此问题的推荐方法是什么?一种选择是使用ActiveX。

1 个答案:

答案 0 :(得分:0)

我花了一些时间研究混合了Win32,WPF和Qt的几种风格的应用程序,你可以让它工作,虽然它可能会使你的一些头发变灰

您可以在WPF应用程序中托管本机控件:https://msdn.microsoft.com/library/aa970061(v=vs.100).aspx

可以使用qtwinmigrate项目https://github.com/qtproject/qt-solutions/tree/master/qtwinmigrate在本机Windows应用中托管Qt。注意 - 我只使用它来托管对话框,而不是嵌入单独的控件,所以我不知道这实际上是一种可能性。我也很难让所有3个系统的消息管道很好地一起玩,但我认为它(或多或少)是可能的。

真正的问题是,如果您拥有WPF,那么真的值得在那里获得Qt吗?你需要有一个相当大的现有小部件来证明这种痛苦。