Qt
Qt
宗而研之
计算机视觉应用开发及部署方向
展开
-
Qt+OpenCV读取两个摄像头并保存
在上一篇文章中,实现了单个摄像头的摄像头读取、视频保存、摄像头关闭等功能;这一篇实现两个摄像头的读取,在笔记本电脑上插一个USB摄像头,然后让显示两个摄像头的图像并保存先来个效果展示话不多说,直接上代码#include "mainwindow.h"#include "ui_mainwindow.h"#include <opencv2/core/core.h...原创 2017-11-29 23:13:14 · 3947 阅读 · 3 评论 -
Qt实现进度条拖动视频回放
参考:http://blog.csdn.net/liutingxi0709/article/details/51983137新建一个Qt Widgets Application的项目,类名为MediaPlayer,基类为QMainWindow,自动生成头文件和源文件项目的进行过程:创建基本布局 QMediaPlayer的基本使用 结合QSlider实现播放进度控制 重载Q...转载 2018-01-06 20:34:56 · 18872 阅读 · 10 评论 -
Qt之列出BASLER相机详细信息
参考:http://blog.csdn.net/liyuanbhu/article/details/74613768整个pylon 对 GenICam 接口进行了封装,但是这个封装并不是特别的彻底。只有理解了GenICam 的设计思想才能真正明白pylon 是怎么回事。GenICam 是Generic Interface for Cameras 的缩写,GenICam 的目标就是建立一个统一的转载 2018-01-23 23:29:38 · 2365 阅读 · 0 评论 -
Qt之QSlider的使用方法
QSlider部件提供了一个垂直或水平滑动条。滑块是一个用于控制有界值的典型部件。它允许用户沿水平或垂直方向移动滑块,并将滑块所在的位置转换成一个合法范围内的值。QSlider很少有自己的函数,大部分功能在QAbstractSlider中。最有用的函数是setValue(),用来设置滑块的当前值;triggerAction()来模拟点击的效果(对快捷键有用),setSingleStep()、s...转载 2018-01-07 11:42:47 · 41284 阅读 · 6 评论 -
Qt调用QMediaPlayer和QVideoWidget实现视频回放
参考:http://m.blog.csdn.net/mottled233/article/details/71598268在之前的博客中,利用OpenCV实现了相机视频的采集与保存,并进行回放,但回放的操作没有多设置,回头再做,发现Qt带的QVideoWidget可以实现回放的一些操作,因此记录下来。Qt Multimedia是Qt的一个重要模块,它提供了许多c++类和QML模块来进行多媒原创 2018-01-06 15:33:11 · 14511 阅读 · 1 评论 -
Qt之LNK1120:无法解析的外部命令解决方法
在Qt构建程序中,出现如下图所示类似的错误解决方法很简单,找到该程序的build-***(工程名)-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug,然后进入打开debug,删除里边的文件,重新qmake-构建即可原创 2018-01-07 14:45:50 · 8374 阅读 · 1 评论 -
Qt之串口收发数据
参考:http://blog.csdn.net/u014695839/article/details/50611549参考:http://blog.csdn.net/zbw1185/article/details/51496663通过好几天的学习,终于写出了一个用于串口通信的上位机。下面开始介绍串口类的使用。首先,QT5是自带QSerialPort这个类的,使用时需要在pro文件里面添...转载 2017-12-27 16:26:54 · 51464 阅读 · 26 评论 -
Qt弹出标准对话框的方法
参考:先来看一下最熟悉的QMessageBox::information。我们在以前的代码中这样使用过:QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);现在我们从API中看看它的函数签名:static Standard...转载 2018-01-08 09:16:07 · 53533 阅读 · 2 评论 -
Qt窗体间传递变量方法总结
参考:http://blog.csdn.net/hanxing0/article/details/9087237在写QT程序时,难免会碰到多窗体之间进行传值的问题。依照自己的理解,我把多窗体传值的可以使用的方法归纳如下:1.使用QT中的Signal&Slot机制进行传值;2.使用全局变量;3.使用public形式的函数接口;4.使用QT中的Event机制(这种没有把握,但是感觉应该是可以的转载 2018-01-09 10:54:01 · 7006 阅读 · 1 评论 -
Qt多线程间传递变量方法总结
参考:http://www.cnblogs.com/bingcaihuang/archive/2011/07/14/2106885.htmlQt线程间共享数据主要有两种方式:一是使用共享内存。即使用一个两个线程都能够共享的变量(如全局变量),这样两个线程都能够访问和修改该变量,从而达到共享数据的目的;二是使用singal/slot机制,把数据从一个线程传递到另外一个线程。第一种办法在各个编转载 2018-01-09 11:50:12 · 13683 阅读 · 0 评论 -
Qt不同类间传递变量方法总结
参考:http://blog.csdn.net/shangyaowei/article/details/17424673最近开发一个程序,需要多个源文件,包括若干个头文件和若干个定义文件。因此如何在多个源程序间开发传递变量就成了一个关键问题。刚开始我通过构造函数传递参数,能成功传递但数据却不会自动更新。随后想到通过全局变量传递参数。一般来说在多个源程序间传递变量大概有两种方法,一是利用exte转载 2018-01-09 11:25:37 · 7332 阅读 · 0 评论 -
Qt之线程的暂停与重新启动
参考:http://www.360doc.com/content/15/0713/11/20016257_484603805.shtml在Qt中实现继承QThread的新线程的暂停与重新启动的方法,主要采用互斥量的方法,新线程一般都采用while循环,来实现程序的不断运行,我们只需要在while循环开始的时候,将互斥量锁上,循环结束时,再解锁即可。如果要实现暂停与重新启动的功能,只需要在其它函原创 2018-01-25 23:58:12 · 18857 阅读 · 7 评论 -
Qt多线程处理文本文件并显示
参考:http://blog.csdn.net/u010650281/article/details/51516776qt本身提供了许多多线程的类,方便我们进行多线程的开发创建线程,Qt 包含下面一些线程相关的类:QThread 提供了开始一个新线程的方法QThreadStorage 提供逐线程数据存储QMutex 提供相互排斥的锁,或互斥量QMutexLocker 是一个转载 2018-01-10 10:55:17 · 5787 阅读 · 0 评论 -
Qt之设置BASLER相机参数
参考:http://blog.csdn.net/liyuanbhu/article/details/74841591参考:http://blog.csdn.net/cocoasprite/article/details/60955012一、在设置相机参数之前,先要获取相机对象。Pylon::CTlFactory 具有一个 CreateDevice() 方法可以用来生成一个相机对象,并返原创 2018-01-27 01:26:57 · 3604 阅读 · 1 评论 -
Qt数据类型转换大全
参考:http://blog.csdn.net/ei__nino/article/details/7297791Qt中数据类型的转换很常用,于是边使用边记录,有不完整的,后边再慢慢补充完善Qt中 int ,long转换为QString有两种方法1、使用QString::number(),如:long a = 63; QString s = QString::nu原创 2018-01-12 15:33:47 · 4814 阅读 · 0 评论 -
Qt之异或校验
在做数据的接收时,常常要用到各种校验,异或校验最简单最实用,在Qt中自己编写一种异或校验的方法数据背景:接收的是16进制数据16 21 37,其中前两个字节表示距离数据,后一个字节是校验位,在程序中首先把它们转化为字符串,然后再做校验,相当于是两个字符串校验,代码如下://求两个字符串异或QString MainWindow::getXORresult(QString str1, QSt原创 2018-01-27 21:23:30 · 8528 阅读 · 1 评论 -
Qt之8个字节转化为double小数
首先要理解double的存储方式,具体可查找相关的博客本文实现的是将8个字节(存储为16进制的字符串)转化为对应的double类型double MainWindow::qByteArraytodouble(QString qstr){ QByteArray byte; StringToHex(qstr,byte); double result; memcp原创 2018-01-30 22:20:37 · 5095 阅读 · 0 评论 -
Qt中插入图片并在label中显示
参考:http://blog.51cto.com/whylinux/1877629参考Qt的帮助文档,可支持的类型,即可以直接读取并显示的格式有BMP、GIF、JPG、JPEG、PNG、TIFF、PBM、PGM、PPM、XBM、XPM。具体的步骤为:先打开一个图像;将图像文件加载进QImage对象中;再用QPixmap对象获得图像;最后用QLabel选择一个QPixmap图像对象显示。第一...原创 2018-01-13 22:47:19 · 32957 阅读 · 9 评论 -
Qt将毫秒转化为时分秒格式
在做视频回放的时候,可以通过player.duration()的形式获得视频总时长,单位是ms,如得到时长为1137661ms,为了在页面上通过一定的格式显示,需要将毫秒转化为时分秒的形式,转化方法很简单,如代码所示:QString MainWindow::formatTime(int ms){ int ss = 1000; int mi = ss * 60; i原创 2018-01-13 20:22:56 · 11993 阅读 · 0 评论 -
Qt+OpenCV以时间命名视频名字
以时间命名视频文件原创 2017-11-30 15:58:29 · 857 阅读 · 0 评论 -
Win10+Qt5.8+OpenCV3.2配置过程
Qt软件的安装及OpenCV配置原创 2017-11-24 21:10:19 · 1399 阅读 · 0 评论 -
Qt构建、运行、qmake的区别
qmake:根据实际环境创建项 目文件.pro 并且运行qmake生成适当的Makefile构建:构建是增量编译,只编译有变化部分重新构建: 是把所有部分都重新编译运行: 有改动则根据已有的Makefile进行编译,执行构建和重新构建时如果没有Makefile,会根据.pro文件等生成Makefile后再编译原创 2017-12-16 15:58:16 · 20713 阅读 · 1 评论 -
Qt多线程的创建及使用方法
在上一篇文章中,转载了Qt创建多线程的两种方法,分别是继承QThread和继承QObject,文章较长,看得有点晕,但理论性比较全面,所以记录下来本文通过最简单、最常用的方法,来实现多线程的创建,至于提到的其它问题,再慢慢优化吧转载 2017-12-25 16:59:20 · 1409 阅读 · 2 评论 -
Qt lnk1158 无法运行rc.exe 解决方法
Qt lnk1158 无法运行rc.exe 解决原创 2017-12-16 15:29:21 · 26104 阅读 · 10 评论 -
Qt+OpenCV摄像头读取保存回放视频
上一篇文章中,在Qt中配置了OpenCV的开发环境,并且添加了所需要的库文件,这篇文章,开始读取摄像头视频,并保存要注意OpenCV2和OpenCV3的读取保存方法是有区别的,本文是基于OpenCV3的方法进行视频读取与保存参考:http://blog.csdn.net/sinat_24206709/article/details/53152966一、读取单个摄像头视频在mainw...原创 2017-11-28 09:27:59 · 13604 阅读 · 28 评论 -
Qt创建多线程的两种方法
来源:https://github.com/czyt1988/czyBlog/tree/master/tech/QtThread1.摘要Qt有两种多线程的方法,其中一种是继承QThread的run函数,另外一种是把一个继承于QObject的类转移到一个Thread里。 Qt4.8之前都是使用继承QThread的run这种方法,但是Qt4.8之后,Qt官方建议使用第二种方法。两种方法区别不大...转载 2017-12-25 15:33:54 · 65558 阅读 · 10 评论 -
Qt之emit、signals、slot的使用
参考:https://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/index.html信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方。信号和槽是 QT 自行定义的一种通信机制,...转载 2017-12-28 00:07:07 · 72228 阅读 · 15 评论 -
OpenCV调整显示视频的格式及位置
参考:http://www.bubuko.com/infodetail-506338.html参考:http://blog.csdn.net/expection1985/article/details/6709041利用OpenCV读取多个相机后,默认显示多个窗口,会重叠在一起,因此需要设定后每个窗口显示的大小及位置,这样可以省去手动拖动的麻烦首先看看视频读取及保存的相关函数1、n原创 2018-01-12 13:22:38 · 2166 阅读 · 0 评论 -
Qt文本文件的读写操作
Qt文本的读写转载 2017-12-28 11:34:06 · 47536 阅读 · 0 评论 -
Qt获取系统时间并格式化输出
Qt获取系统时间并格式化输出转载 2017-12-28 11:21:10 · 4250 阅读 · 2 评论 -
Qt+BASLER相机+OpenCV
参考:http://www.ilovematlab.cn/thread-106077-1-1.htmlhttp://blog.csdn.net/u013351270/article/details/54345855http://blog.csdn.net/wt881010/article/details/53483813https://imaginghub.com/projects...原创 2017-12-13 11:55:13 · 9877 阅读 · 31 评论 -
Win10(x64)+Qt5.8(MSVC2015)+OpenCV3.2.0配置过程
参考:https://www.cnblogs.com/wuzhiting/p/6594136.html参考:http://blog.csdn.net/u014265347/article/details/54972611在之前的文章中,配置过Qt+OpenCV,但后来在使用Qt做工程的时候,发现需要用到MSVC的编译器,而不是MingW的编译器,因此选择重新配置一遍,也要注意版本的搭配...原创 2017-12-16 12:47:53 · 6941 阅读 · 13 评论 -
Qt创建多线程接收惯导UDP数据
0 背景项目需求,要用Qt接收惯导数据,数据采用UDP传输,在Qt中提供了QUdpSocket类来进行UDP数据报(datagrams)的发送和接收。这里我们还要了解一个名词Socket,也就是常说的“套接字”。 Socket简单地说,就是一个IP地址加一个port端口。因为我们要传输数据,就要知道往哪个机子上传送,而IP地址确定了一台主机,但是这台机子上可能运行着各种各样的网络程序,我们要往...原创 2018-01-04 16:31:09 · 11100 阅读 · 4 评论 -
Qt之小端模式数据转大端模式数据
在项目过程中,(很不幸)遇到一个小端模式的数据解析问题,之前没有转化的经验,折腾了好久才转化成功,记录下来首先,解释下什么是小端模式和大端模式大端模式(Big Endian):数据的高字节,保存在内存的低地址中;数据的低字节,保存在内存的高地址中。小端模式(Little Endian):数据的高字节,保存在内存的高地址中;数据的低字节,保存在内存的低地址中。举一个例子,比如数字原创 2018-01-28 23:19:04 · 8631 阅读 · 0 评论