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

news/2024/11/14 15:46:45/

一、项目场景

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

http://www.ppmy.cn/news/7055.html

相关文章

项目实战之旅游网(七)后台分类管理 后台产品管理(上)

目录 一.后台分类管理 二.后台产品管理&#xff08;上&#xff09; 1.产品列表 2.新增产品 3.富文本编辑器 一.后台分类管理 mapper层&#xff1a; public interface CategoryMapper extends BaseMapper<Category> { } service层&#xff1a; Service Transactio…

docker创建带有用户密码认证和web可视化界面的私有仓库

docker-registry的搭建 有时候使用Docker Hub这样的公共仓库可能不方便&#xff0c;用户可以创建一个本地仓库供私人使用。比如&#xff0c;基于公司内部项目构建的镜像。 docker-registry是官方提供的工具&#xff0c;可以用于构建私有的镜像仓库。 安装运行docker-registry…

跨平台应用开发进阶(五十一):HTML5(富文本内容)连续数字、字母不自动换行问题分析及解决

文章目录一、前言二、问题分析三、解决方法3.1 对 input 标签设置3.2 对 input 标签内的 p 标签设置四、延伸阅读 顶部状态栏穿透问题五、拓展阅读一、前言 项目开发过程中&#xff0c;涉及在Web端维护富文本内容&#xff0c;通过APP端查看的相关的功能&#xff0c;功能描述大…

【OpenCV-Python】教程:8-1 图像去噪 Image Denoising

OpenCV Python 图像去噪 Image Denoising 【目标】 非局部均值去噪算法去除图像中的噪声。 cv2.fastNlMeansDenoising() , cv2.fastNlMeansDenoisingColored() etc. 【理论】 在前面的章节中&#xff0c;我们已经看到了许多图像平滑技术&#xff0c;如高斯模糊&#xff0c…

【HTML】2023跨年烟花代码

*2022年圣诞节到来啦&#xff0c;很高兴这次我们又能一起度过~ &#x1f4c2;文章目录前言效果展示一、夜景烟花绽放动画效果HTML源码2023年(新年)春节倒计时代码源码2023除夕倒计时效果展示源码宇宙星空-效果展示1.源码2.思路3.步骤(js部分)更多干货&#x1f680;前言 时光荏苒…

Ubuntu系统中文乱码的解决办法

Ubuntu系统中文乱码的解决办法 文章目录Ubuntu系统中文乱码的解决办法1. 安装中文语言2. 安装语言设置的命令locale3. 安装中文的相关字体4. 修改语言的环境变量4.1 环境变量一4.2 设置二5. 正式配置语言后记最近在docker上pull下面的Ubuntu镜像运行后发现中文出现了乱码情况&a…

浅谈图数据库1:什么是图?

目录 一、图是什么&#xff1f; 二、“图”源自哪里&#xff1f; 三、加权图是什么&#xff1f; 四、有向图是什么&#xff1f; 五、图能给我们带来什么&#xff1f; 一、图是什么&#xff1f; 说到“图” 大部分人首先想到的是这样滴——图像 ​或者是 饼状图 折线图…

Java8新特性Stream流

一、Stream的介绍 ​ Stream不是集合元素&#xff0c;也不是数据结构&#xff0c;并不保存数据&#xff0c;它是有关算法和计算的&#xff0c;使用起来更像一个高级的迭代器&#xff0c;我们只需要给出需要对其流中的元素执行什么操作&#xff0c;Stream就会隐式的在内部进行遍…