window下C#(winform)调用带界面的Qt库文件(DLL)

Posted DS小龙哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window下C#(winform)调用带界面的Qt库文件(DLL)相关的知识,希望对你有一定的参考价值。

一、项目场景

C# 与 Qt 混合编程,开发软件。 Qt编写功能模块给C#调用。

Qt带界面的控件给C#调用的常见的办法有两种: 如果不带界面的就很简单,这篇文章是介绍带界面的Qt组件给C#调用。

(1)Qt封装成COM组件方式给C#调用。

(2)Qt直接编译成DLL,导出接口给C#调用。

COM组件方式在之前的好几篇文章都有详细讲解。这篇文章介绍Qt直接编译成DLL,导出接口给C#调用。

当前的开发环境:

 编译器: MSVC_VS2017
 ​
 Qt版本: 5.12.6 

二、案例1

Qt直接编译成DLL,导出接口给C#调用。

2.1 Qt创建DLL

如果现在已经有一个完整的Qt项目,编译成exe可以运行,如果改为DLL给C#调用?

(1)修改pro文件 增加配置,表示生成dll库文件。

 TEMPLATE = lib
 DEFINES += DLL_CREATETEST_LIBRARY

(2)修改main.cpp 增加代码

 //DLL入口,加载DLL会调用
 BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReserved*/ )
 
      qDebug()<<"DllMain 被调用....";
     static bool ownApp

以上是关于window下C#(winform)调用带界面的Qt库文件(DLL)的主要内容,如果未能解决你的问题,请参考以下文章

window下C#(winform)调用带界面的Qt库文件(DLL)

C# 下winform代码调用windows自带的图片查看器查看本地图片可以,请问下查看远程图片怎么写,求代码

C# 测试SQL数据库连接时 winform 界面如何实时刷新控件。

用C#开发界面用winform好还是wpf好

C# WINFORM中捕捉界面中按键ESC

C# Winform程序界面优化实例