Qt实例学习
文章平均质量分 67
分享一些Qt学习过程中的实例,主要用于自己学习的记录和积累。
coder_Alaric
这个作者很懒,什么都没留下…
展开
-
[OpenCV学习笔记]Qt+OpenCV实现图像灰度反转、对数变换和伽马变换
灰度反转是一种线性变换,是将某个范围的灰度值映射到另一个范围内,一般是通过灰度的对调,突出想要查看的灰度区间。SL−1−rr⊂0L−1SL−1−rr⊂0L−1])比如在以下胸片图像中提取白色絮状形状,在黑色背景下看的不太明显,就可以使用灰度反转增强图像的可视化效果。i++)j++)原创 2024-03-30 10:29:37 · 1567 阅读 · 0 评论 -
[Qt学习笔记]Release后的exe程序在新的电脑上出现“找不到MSVCP140.dll”的错误
我们在打包程序的时候一般都会把相关依赖库整体打包,这样程序在新的电脑和环境下就不需要再去配置对应的环境,但是有时候新程序在一台新的电脑运行时会出现“找不到MSVCP140.dll”这种错误,其原因就是在新电脑的操作系统中缺少一些不要的依赖库,需要找齐这些库放到新电脑的系统中。所以需要安装对应的依赖库。原创 2024-03-20 09:06:08 · 366 阅读 · 0 评论 -
[Qt学习笔记]QPushButton点击事件和长按事件使用功能
在使用QPushButton中,一般都在UI界面直接右键添加槽函数进入代码,很少去分析每个触发事件的功能,比如需要通过长按按钮来触发相应的操作,这里点击信号不可以达到预期的效果。原创 2024-03-20 09:04:47 · 1472 阅读 · 0 评论 -
[Halcon学习笔记]在Qt上实现Halcon窗口的字体设置颜色设置等功能
在之前介绍过Halcon窗口显示文字字体的尺寸和样式,具体详细介绍可回看当时介绍的设定方法最近在使用过程中发现一个问题,在不同模式下设置的不同;如果要设置斜体,加粗等效果,Release下要严格按照SetFont的先后次序进行设定,不能缺省,不然会出现报错的情况。原创 2024-03-20 09:00:17 · 735 阅读 · 0 评论 -
[Qt学习笔记]Qt使用MFC编译生成dll库在无编程环境电脑出现无法加载dll的问题
在项目实践中,使用Qt调用了一个vs创建的dll库,在本机上编译和release后的exe可以加载对应的dll文件,将exe拷贝到有vs编程环境的电脑上也可以加载对应的dll文件,但在无编程环境的电脑上执行exe就会出现无法加载dll的bug。这里重新学习一下MFC这种生成dll设定运行库的原理。编译选项包含静态链接的lib说明/MD_MT、_DLLMSVCRT.lib多线程、Release、DLL版本的运行时库/MDd多线程、Debug、DLL版本的运行时库/MT_MT。原创 2024-03-20 08:59:04 · 463 阅读 · 0 评论 -
[Qt学习笔记]Qt线程间数据通讯及数据共享
第一种方法,使用全局变量或全局函数,在其他类或线程中调用,这是各种编程语言中都通用的方法,但全局变量长时间占用内存,影响程序空间使用率,且全局变量修改影响整个程序,程序的安全性无法保证,一般尽量少用全局变量或函数,这种方法不展开介绍了。原创 2024-03-20 08:57:03 · 2124 阅读 · 0 评论 -
[Qt学习笔记]Qt实现自定义控件SwitchButton开关按钮
在项目UI中使用较多的打开/关闭的开关按钮,一般都是找图片去做效果,比如说如下的图像来表征打开或关闭。如果想要控件有打开/关闭的动画效果或比较好的视觉效果,这里就可以使用自定义控件,使用Painter来绘制控件。原创 2024-03-20 08:51:51 · 1793 阅读 · 7 评论 -
[Halcon学习笔记]实现多边形绘图后自动闭合成斜矩形
在Halcon联合开发项目中,需要在Halcon窗口上绘制不同形状的ROI,但是Halcon自带的绘图操作不太方便,操作时交互感官较差,所以可以通过绘制多边形,通过点来绘制多边形,最后通过闭合算子将绘框形成闭合的xld轮廓或Region,最终得到我们想要的ROI区域。原创 2024-03-20 00:18:44 · 480 阅读 · 0 评论 -
[Qt学习笔记]Qt实现控件的折叠收起和展开的功能
本次学习的内容主要是实现控件的折叠和展开,类似抽屉控件,目前Qt自带的控件QToolBox具有这个功能,但是一次只能展开一个,所以针对自己的需求可以自己写一个类似的功能,这里实现的方法比较多,其实原理也比较简单,就是点一次隐藏,再点一次显示的效果。原创 2024-03-20 00:10:04 · 2869 阅读 · 0 评论 -
[Qt学习笔记]Qt实现鼠标点击或移动时改变鼠标的样式以及自定义鼠标样式
使用函数QCursor::QCursor(const QBitmap & bitmap, const QBitmap & mask, int hotX = -1, int hotY = -1),需要准备自定义鼠标样式的图片和自定义鼠标样式的掩码图片,hotX和hotY设置鼠标热点。甚至可以生成与背景具有反差效果的鼠标样式。//背景透明的png格式图片//-1 -1表示鼠标热点在中心点//设置自定义的鼠标样式。原创 2024-03-20 00:06:35 · 1532 阅读 · 0 评论 -
[Qt学习笔记]QGraphicsView实现背景的绘制和前景图像的绘制
然后在Scene类中重新定义drawBackGround函数,这里直接使用重写的函数来实现自己改造背景的功能这里定义了一个间距为10像素的网格线路,原创 2024-03-20 00:04:24 · 1085 阅读 · 0 评论 -
[Qt学习笔记]Qt下使用Halcon实现采图时自动对焦的功能(Brenner梯度法)
在机器视觉的开发中,现在有很多通过电机去做相机的聚焦调节,对比手工调节,自动调节效果更好,而且其也能满足设备自动的需求,尤其在一些高倍成像的环境下应用场景更广泛,图像清晰度是衡量图像质量的一个重要的指标,手动调焦的过程是通过人为去判定图像的清晰度,调节镜头的焦距,使得图像从模糊到清洗,再到模糊的过程,确定清洗度的峰值,自动调焦就是通过算法对采集的每一张图像的清晰度进行评价,最终给出图像清晰的峰值,从而确定调焦获取的焦距最佳。常见的图像清晰度评价一般都是基于梯度的方法,本文主要介绍Brenner梯度法。原创 2024-03-20 00:02:52 · 991 阅读 · 0 评论 -
[Qt学习笔记]Halcon窗口界面上显示文字的字体尺寸、样式修改
养成良好的查资料习惯,可以实现事半功倍。原创 2024-03-19 23:56:28 · 1029 阅读 · 0 评论 -
[Qt学习笔记]QT下获取Halcon图形窗口鼠标事件并执行相应操作
在视觉项目开发过程中碰到了需要使用Halcon进行图像算法开发的需求,估计很多视觉工程师都用到过Halcon软件开发库,但是完成Halcon算法开发后就会遇到一个问题,就是图像的显示、读写、UI交互等问题,由于Halcon具有特殊的图像文件格式HObject和数据格式HTuple,所以说需要格式转换后才能实现相对应的操作,不过Halcon本身也有比较实用的显示、界面交互的功能,所以如何在C++或QT下使用这些功能成为了接下来需要去研究和实践的工作原创 2024-03-19 23:48:44 · 1661 阅读 · 0 评论 -
Qt5.9.6+VS2015 部署PCL1.8.1
本文系转载,如侵权请告知删除。原创 2024-03-19 23:40:59 · 1387 阅读 · 0 评论 -
[Qt项目实战]Qt实现美松标签打印机标签二维码打印(QR混排模式+页打印模式)
如果使用USB接口,需要在电脑上安装美松打印机的驱动程序,否则会出现初始化失败的错误。QR码混排打印时,最好是将QR码打印在左侧,因为打印QR码设置距离左边距最大值为27mm。美松打印机目前字体大小:字符是1224和917,汉字是1616和2424,放大只能按照倍数放大,比较难去调整到一个合适的字体大小,一般使用默认大小。美松提供的是纯C的动态库,输入的字符串是char类型,所以在Qt调用时需要将QString先转成char,并注意编码格式,否则会出现中文乱码情况。原创 2024-03-19 23:13:26 · 953 阅读 · 1 评论 -
[Qt学习笔记]Qt设置编译动态库时自动生成带d结尾的dll库
在Qt生成动态链接库dll时,有时需要同时编译debug和release下的库,debug的库以d结尾,只需要在pro文件中添加设置生成的TARGET字段格式就行了。原创 2024-03-19 23:08:01 · 422 阅读 · 0 评论 -
[Qt学习笔记]Qt下调用vlc库实现拉流播放和截图
使用VLC-Qt库实现拉流播放效果原创 2023-05-28 18:55:41 · 1751 阅读 · 1 评论 -
QT实现无线条码枪数据采集(一)
QT实现无线条码枪数据采集原创 2023-08-24 09:10:11 · 2334 阅读 · 0 评论 -
Qt5.9.6+VS2015开发环境配置
以上组件可根据自己需求进行选择安装,如果你只在windows 64位下使用,选择msvc2015 64-bit,如果你需要在Linux或Android下使用,选择对应组件即可。运行Qt安装软件qt-opensource-windows-x86-5.9.6 .exe,进行安装,安装最好在有网络的情况下,避免出现错误。运行VS2015安装软件,编程语言选择Visual C++,如果还使用其他编程语言,按照自己需求进行选择,其他选项按照默认设置就行。然后安装就一直下一步就行,安装位置按照自己需求进行修改。原创 2023-08-24 09:18:53 · 799 阅读 · 0 评论 -
QT5实现程序修改系统时间
QT本身不提供时间设置的函数,实现修改系统时间使用windows的native API函数SetSystemTime函数,因此头文件里需要加入#include <Windows.h>以上的代码运行结果会比当前时间少八个小时,是因为GetSystemTime()获取的是格林尼治时间;-目前实现程序进行系统时间的修改,如果想实现程序自我对时,就需要把系统自带的Internet时间同步设置关闭。目前电脑的系统时间一般是自动与time.windows.com进行在线同步,每次同步的时间周期为一周。原创 2023-08-24 09:17:30 · 1234 阅读 · 0 评论 -
[Qt学习笔记]Qt实现界面和程序中的动态翻译
动态翻译主要是要重写changeEvent事件,以便实时获取语言变更和更新。源代码附在最后,以便后续学习使用。原创 2023-12-29 23:22:19 · 1127 阅读 · 0 评论 -
[Qt学习笔记]Qt鼠标事件mouseMoveEvent实时获取图像的坐标和像素值
上一篇介绍了使用OpenCV的setMouseCallback回调函数实现获取鼠标点击点的图像坐标和像素值,本篇使用鼠标事件mouseMoveEvent函数来实现实时获取鼠标的坐标和对应图像点的像素值,并将结果实时显示在label控件上。原创 2024-03-19 22:36:10 · 1578 阅读 · 0 评论 -
[Qt学习笔记]Qt实现程序单例运行,再次点击后弹出界面
在实际工程项目中,软件在打开情况下,再次打开软件会出现打开多个软件界面的情况,进而找出与下位机交互的错误,对于工程项目是不允许此类情况出现,所以在软件运行时必须保证该软件是单例运行,在运行状况下再次打开时进行提示或弹出之前的软件界面。原创 2024-03-08 17:09:31 · 891 阅读 · 0 评论 -
[Qt学习笔记]基于Qt+opencv的视频播放器
基于Qt+opencv的视频播放器原创 2023-08-23 22:10:16 · 924 阅读 · 1 评论 -
FreeCAD源码编译、配置及编译运行
FreeCAD源码编译、依赖库设置、环境配置及软件的运行测试原创 2023-03-13 22:52:17 · 2662 阅读 · 3 评论 -
[Qt学习笔记]Qt使用mxDraw插件实现CAD二维图的显示和修改
Qt使用MxDraw插件实现CAD图的显示、修改和保存原创 2022-12-30 16:54:23 · 2029 阅读 · 0 评论 -
[PLC通讯]开源libmodbus编译32位和64位动态库dll
libmodbus的介绍,编译32位和64位动态库方法原创 2022-12-05 21:54:40 · 1712 阅读 · 2 评论 -
[视觉实战案例]Qt+Halcon实现区域生长算法(坐标种子点+灰度值种子点)
区域生长算法:将按照事先定义的生长准则讲一个像素或子区域逐步聚合成一个完整独立的区域的过程。对于图像上某个区域R,p为区域R上指定的一个像素点,称作种子点,按照规定的生长准则逐步将与种子点z一定邻域内符合相似性判据的像素合并成一个种子群以备下一阶段的生长,这样不断的进行循环生长直到满足生长停止条件为止,从而完成了对感兴趣区域由一个种子点生长为一个独立连通区域的过程。实现步骤1、在图像区域中选取一个像素点作为一个种子点(x,y)。原创 2022-09-26 11:04:47 · 2299 阅读 · 0 评论 -
[Qt学习笔记]Qt动态切换控件样式属性方法
Qt实现动态设置按钮样式属性方法,可实现动态调用按钮控件点击、按下、松开、切换时的颜色和样式原创 2022-09-24 18:18:26 · 1438 阅读 · 0 评论 -
[Qt学习笔记]Qt程序加密,实现软件运行次数和硬件信息绑定
1、单机终端软件这类软件一般在未联网的情况下使用,所以不能通过网络去判定是否得到授权,一般采用绑定硬件信息来对软件进行加密,这样软件与设备绑定就无法进行随意使用。2、远程授权监控终端软件在启动后就会跟服务器通讯来检查当前设备是否已经得到授权,可实现远程锁定程序,设置程序的使用时间和使用次数。...原创 2022-08-03 22:46:58 · 4274 阅读 · 5 评论 -
[Qt学习笔记]QLabel实现圆形警示灯显示方法
使用两种方法完成QLabel实现圆形警示灯的显示原创 2022-07-12 22:55:59 · 5519 阅读 · 0 评论 -
[视觉实战案例]Qt实现8位灰度图叠加通道转换成24位三通道图像
目录前言1、OpenCV实现单通道转三通道2、判断图像通道数进行转换3、程序实现代码4、实现效果5、源码学习前言在项目中,可能一些输入的图像要求是RGB的图像格式,但是手边只有单通道的黑白相机进行采图,这时就需要将8位的单通道图像转换成24位的三通道图像,一般都是使用3个8位图像叠加成三通道图像。1、OpenCV实现单通道转三通道首先创建一个CV_8UC3的三通道图像,图像大小尺寸与单通道图像尺寸一致,然后将3份单通道图像叠加融合填入刚创建的三通道图像。Mat Widget::convertTo.原创 2022-05-15 12:50:31 · 1666 阅读 · 0 评论 -
Qt实现多摄像头的识别、显示、截图、分辨率帧率设置等功能
1.CameraInfo遍历设备获取多摄像头信息2.获取摄像头的分辨率和最大帧率,并进行选择设置3.实现单张抓图和连续抓拍功能原创 2022-03-23 17:00:38 · 7351 阅读 · 13 评论 -
使用QGraphicsItem自定义同心圆、旋转矩形和箭头等Item框体组件
#1、背景在视觉项目开发过程中碰到了图像显示和ROI矩形框或其他框体的显示的需求,最早我在开发过程中直接将Halcon的显示窗口直接贴在Qt的控件上,这样就省去了图像转换后再绘图的操作(Halcon具有独特的图像格式HObject),但是Halcon没有图层的概念,只有create_drawing_object_circle这些算子可以使用,但这些在图像实时刷新的时候比较耗时且也没有图层可以操作(Win环境实时效果还行,Linux下较难实现实时效果),采用Qpixmap显示在UI端,并使用QGraphic原创 2021-08-17 21:33:52 · 3524 阅读 · 4 评论