vs2015 qt 内置mysql编程_VS2015_Qt5_Halcon混合编程

本文详细介绍了如何在Visual Studio 2015 (VS2015) 中配置Qt5和Halcon库,以便进行C++项目的开发。首先,安装并配置Qt5,包括添加环境变量和安装Qt插件。接着,配置Halcon的库路径和依赖项。然后,通过VS2015创建一个新的Qt项目,并设计用户界面。最后,将Halcon算法集成到Qt项目中,实现了Qt控件与Halcon窗体的绑定,成功运行图像处理程序。
摘要由CSDN通过智能技术生成

1 在VS2015中配置Qt5

1.1 安装Visual Studio 2015

安装VS2015,其中VS2015的默认安装不包括C++的编译器,须手动勾选Visual C++。

e37ae49b7437f37f14a94048d2285d1f.png

1.2 安装Qt5

9bdb0397822409714d46586dabc8ef5d.png

双击运行qt-opensource-windows-x86-msvc2015_64-5.8.0.exe安装程序,进入Qt 的安装界面:

7f9ff5f23c3f3e8c9931e41dc0d28628.png

点击“Next”

ba116f347f9bb6d4a0ca5980c37c2109.png

点击“Skip”,跳过账号注册,使用Qt 开发不需要注册账号。

c365884af35b6238f55aee6a86d4336c.png

可以自己填写安装路径(不要用中文路径,必须用全英文的路径)或者用默认的路径。

后面省略。。。

Qt安装完成后,点击“环境变量”按钮,然后编辑系统变量PATH,把Qt 库安装后大量工具和动态链接库所处的bin路径添加到环境变量:

D:\Program\Qt5.8.0\5.8\msvc2015_64\bin

a5c5d2a7d45ee425d6d9bc37fe747d09.png

1.3 Qt5集成到VS2015的插件

Qt官方原本开发了用于Visual Studio集成的插件,即Qt Visual Studio Add-in,可用于VS2010 - VS2013,但VS2015不能用插件。微软MSDN 网站提供了一个Qt5Package 的扩展包,用于支持Qt5程序开发,下载地址为:https://visualstudiogallery.msdn.microsoft.com/c89ff880-8509-47a4-a262-e4fa07168408

也可以在VS2015中依次点击 工具 --- 扩展和更新,打开管理窗口。在左侧栏中点击“联机”标签,在搜索中输入Qt,可以找到扩展包QtPackage,如下图所示:

76fde9602ab6513ecaea2dd5a7da8919.png

安装后可以在VS2015的IDE菜单中看到“QT5”项,点击“QT5”

点击“Qt Options”菜单项,首次会自动弹出安装项目模板的对话框:

ea470b503cece39145da46ccfa422cc3.png

点击“是”,现在只是安装了Qt在VS新建项目时的可选模板,还没配置Qt 库的路径。

之后在Qt Options对话框才是配置Qt开发库路径的地方:

a881c8267fdc5ea4ebd34b23eaa34eed.png

点击“Add”按钮,看到Add New Qt Version 对话框:

a7be521f5db10b4b717aa5a7e798f317.png

对话框中Version name可以按照上面的填写Qt5.8.0,

下面的Path最重要,点击“…”按钮,找到Qt 安装路径下面包含msvc2015的全路径,只有路径正确,才能点击“OK”按钮完成添加操作。

e3b3918b2f29d863cede6839ce209f88.png

添加Qt5 开发库之后,我们再点击VS2015 菜单“Qt5”-->“Reinstall templates and register libraries”菜单项,将刚才配置的Qt5 开发库注册给VS。

51c88dee0d5bca665ed6cd377eec7869.png

2 在VS2015中配置Halcon

2.1 配置平台

解决方案资源管理器 --- 右键项目 --- 属性 --- 配置管理器,在配置管理器,把平台改为X64。

f8d4af89e080ffdad7e54f3918711b57.png

2.2 添加包含目录

项目 --- 属性 --- 属性页 ---VC++目录 --- 包含目录,添加如下路径:

D:\Program\MVTec\HALCON-17.12-Progress\include

D:\Program\MVTec\HALCON-17.12-Progress\include\halconcpp

ecbccec105139519e6cef56cbc7b87dd.png

2.3 添加库目录

项目 --- 属性 --- 属性页 --- VC++目录--- 库目录,添加如下路径:

D:\Program\MVTec\HALCON-17.12-Progress\lib\x64-win64

4025aaa836f458afcf678ffae50a1594.png

2.4 添加附加库目录

项目 --- 属性 --- 属性页 --- 链接器 --- 常规--- 附加库目录,添加如下路径

D:\Program\MVTec\HALCON-17.12-Progress\lib\x64-win64

e3106da14829ad798cfa0dc9b6c6cb54.png

2.5 添加附加依赖项

项目 --- 属性 --- 属性页 --- 链接器 ---输入 ---附加依赖项,添加

halconcpp.lib

15a4f0f0dc6d940b5daf5136c0c2b87a.png

3 在Halcon中将程序导出为C++文件

4f44ee8dd0e2af285a036a913247489b.png

4 在VS2015中创建Qt程序

打开VS2015,点击菜单“新建” --- “项目”,在新建项目对话框可以看到有Qt 的项目模板:

ab6e5a34b46a69ece30a48886c2be255.png

在Visual C++子树里面有Qt5 Projects,然后在右边选中Qt Application,下面名称填写“helloQt”位置填写“E:\code\Qt\”,(Qt项目源码最好全都放在全英文的路径!) 解决方案名称也是“helloQt”,点击“确定”按钮,进入Qt项目向导界面:

ba72bf26d9b2e50310645128b2330313.png

点击“Finish”。

新建好项目之后,点击VS 工具栏的“运行”按钮,就可以生成运行项目了:

3e9e467bdd7cc71200f889ea42cc33ea.png

点击“helloqt.ui”

e853f2869b5b7c2fc511a36bed21e578.png

打开Qt Designer,对UI进行设计,拖入两个“pushButton”按钮(一个按钮读取图像,一个按钮图像处理)和一个“label”窗口,如图所示:

d9e6dcf8884142ce8a82eae8658844ef.png

在VS2015的Qt程序的头文件“helloqt.h”中声明与按钮事件对应的槽函数

eeed6d874936c36a3f249adb28a3a36a.png

再在Qt程序的源文件“helloqt.cpp”中添加与按钮事件对应的槽函数的实现。

a9a0fc8a8aadbb19f4000059cf486381.png

保存后关闭Qt Designer,再点击VS2015的“运行”,运行结果如图:

b4aa01f7a46955ea25c6ba6ea949e1a1.png

5 在VS2015中的Qt程序中插入Halcon算法

5.1 添加头文件和命名空间

在Qt程序的头文件“helloqt.h”中加入Halcon的头文件和命名空间,如图所示

333ec032a6d2a9ae9a0b83aee6be63e1.png

5.2 添加Halcon中的变量

复制导出的Halcon程序中的变量

deb89fd35980d8ebb2230f3df8eb9e56.png

将复制的变量添加到Qt程序头文件“helloqt.h”的公有成员中

688b859d1398042788527ea6d445a7dd.png

5.3 添加Halcon中的算法代码

1)复制导出的Halcon程序中的读取图像的代码

7182a11c06ea8195325b6b4f49955656.png

将复制的代码添加到Qt程序的源文件“helloqt.cpp”中的“读取图像”按钮相对应的槽函数中。

a3e8fe838580440eec328c5b176ee16b.png

2)复制导出的Halcon程序中的图像处理的代码

beaaaa7af6e0e2f9bdc2e09e0c91fb4c.png

将复制的代码添加到Qt程序的源文件“helloqt.cpp”中的“图像处理”按钮相对应的槽函数中。

af330adb1a52375d539fc61f3c08f70c.png

5.4 添加Halcon中的外部函数

首先导出Halcon程序的外部函数

4d38624132e72d30e47a19976f36f39d.png

然后复制槽函数中使用到的外部函数

07287f87e00fbdca9b41a96b73a4eee7.png

将复制的外部函数在Qt程序头文件“helloqt.h”中进行声明

cb57351926bf02928024c61277264222.png

将外部函数直接复制到Qt程序源文件“helloqt.cpp”中来实现。

85de1dc4d4fa94d58ef7ce414bff8c3d.png

5.5 将Qt控件和Halcon窗体进行绑定

获得Qt显示控件的ID

Hlong MainWndID = (Hlong)this->ui.label->winId();

通过Halcon的OpenWindow函数,创建Halcon窗体,同时将Qt显示控件的ID与Halcon窗体进行绑定。

OpenWindow(0, 0, ui.label->width(), ui.label->height(), MainWndID, "visible", "", &hv_WindowHandle);

具体如图所示:

fe4da35469bfe5db47f7f9e8fe44393c.png

6 测试

点击“运行”,运行结果如图

c7a053295a97634be96caf6770fdc4d7.png

然后点击“读取图像”

4a812671ad0d6af4edd804a0a631e020.png

最后点击“图像处理”

faca0503df38f1759a7d81732c721a3f.png

7 本文程序代码

8 参考文献

版权声明:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值