C# 调用Qt编写的控件

Qt 里面有很多优秀开源的项目,由于没有对应的.net版本,所以在C#写的winform项目中使用就变得异常困难。首先大多数人的思路就有两个,一是把Qt的项目编译成COM控件,通过COM控件使用,二是把Qt的项目编译成Dll调用。今天就说第二种编译成Dll的形式。

由于Qt中有一个机制,就是MFC可以Qt混合编程,在MFC程序中使用QT的组件,既然QT的组件的组件可以被MFC调用,那也可以被C#的winform调用了,毕竟C#里面经常引入WIN API的Dll进行使用。下面就要是两个步骤:

一、Qt创建项目组件DLL。 这里作为测试,就用Qt生成一个Widget,里面添加一个label控件。

C# 调用Qt编写的控件_第1张图片

二、在C#的winform里面进行引入Qt编译好的dll,然后把窗体显示出来。点击按钮将窗体的句柄传入回Dll,Dll里面把控件显示这个句柄的窗体上。

C# 调用Qt编写的控件_第2张图片

就这样就显示出来了:

C# 调用Qt编写的控件_第3张图片


你可能感兴趣的:(Qt,C#)