VS2019 + Halcon20 + qt5联合编程环境配置全过程(3)联合编程

我们这里拿一个简单的打开图片并显示的GUI来学习下halcon和vs,qt联合编程的过程。

  1. 建好Qt GUI的项目模板,打开.ui文件,这里我们添加一个pushButton用来打开图片,一个label用来显示图片。VS2019 + Halcon20 + qt5联合编程环境配置全过程(3)联合编程
    2.在qt的.h文件中声明这个按键的槽函数:
    VS2019 + Halcon20 + qt5联合编程环境配置全过程(3)联合编程
    在.cpp中创建函数,功能待写:
    VS2019 + Halcon20 + qt5联合编程环境配置全过程(3)联合编程
  2. 在halcon中导出函数:
    因为我们实现的功能是简单的打开和显示图片,没有用到外部函数,所以没有导出外部函数。
    VS2019 + Halcon20 + qt5联合编程环境配置全过程(3)联合编程
    导出后,在vs中打开.cpp文件。
  3. 找到void action(),复制其中的halcon变量
    我这里因为用的是工程项目所以变量很多,但其实我们用到的就几个
    VS2019 + Halcon20 + qt5联合编程环境配置全过程(3)联合编程
    将halcon变量复制到qt的.h文件中public的区域中去:
    VS2019 + Halcon20 + qt5联合编程环境配置全过程(3)联合编程
    我们这里只用到了这4个变量,所以我留下了这4个。
  4. 编写槽函数读取图片的功能,同样是复制action中读取图片的部分,我这里直接附上我的槽函数内容,大家可以直接写,中间区别于action中的部分我用红框标注。VS2019 + Halcon20 + qt5联合编程环境配置全过程(3)联合编程

这里的部分是连接label控件和我们的halcon函数,第一句是为了获得label控件的ID号,在这个label中显示图片。
5. 编译成功后,我们运行看一下:VS2019 + Halcon20 + qt5联合编程环境配置全过程(3)联合编程

VS2019 + Halcon20 + qt5联合编程环境配置全过程(3)联合编程

点击打开按钮后,图片就显示完成了。

这就完成了简单的打开和显示功能,作为一个简单的测试,之后图像处理的部分就可以参照着利用halcon生成的函数来往下写了。如果后续有什么项目经验的话我应该会继续写下,谢谢!