
Qt开发
864记忆
路漫漫其修远兮 吾将上下而求索,业务联系与技术交流:QQ:375172665
展开
-
父页面中关闭子页面计时器的解决方法
父页面弹出窗口以iframe的方式加载子页面的数据,当窗口关闭时,子页面的js计时器却还在运行,导致页面卡顿阻塞。首先要给iframe定义一个id,然后在窗口的onBeforeClose事件中关闭子页面的计时器。秋风写于淄博,业务联系与技术交流:Q375172665。原创 2023-03-25 15:11:31 · 386 阅读 · 0 评论 -
网口通信编程--QUdpSocket接收端
网口通信编程--QUdpSocket接收端原创 2022-11-09 15:55:36 · 547 阅读 · 0 评论 -
网口通信编程--QUdpSocket发送端
网口通信编程--QUdpSocket发送端原创 2022-11-09 15:45:38 · 401 阅读 · 0 评论 -
Qt串口开发关连信号和槽进行事件监听的源码
Qt串口开发关连信号和槽进行事件监听的源码原创 2022-11-09 15:05:12 · 510 阅读 · 0 评论 -
使用SSCOM V5.13进行串口网口调试
使用SSCOM V5.13调试网口和串口原创 2022-11-03 09:32:51 · 12887 阅读 · 0 评论 -
sqlite实现按5分钟进行统计汇总数据的方法
sqlite实现按5分钟进行统计汇总数据的方法原创 2022-08-31 15:11:21 · 1400 阅读 · 0 评论 -
Linux使用gstreamer打开网络摄像头
Linux使用gstreamer打开网络摄像头原创 2022-07-19 16:58:42 · 1737 阅读 · 0 评论 -
Qt之UDP方式接发信息代码Linux平台WINDOWS平台通用
Qt之UDP方式接发信息代码Linux平台WINDOWS平台通用原创 2022-06-18 14:26:00 · 744 阅读 · 0 评论 -
Qt中被引用项目改动后编译生成Dll但引用项目却编译报错的处理方法
一、被引用项目:kernel,新增了函数并编译成功二、引用项目:IGTC引用了kernel中的某函数,但是IGTC编译不成功,报错:错误信息中的变量在项目无法查到,是随机生成的。三、分析原因:kernel项目编译生成的kernel.dll输出到了…/bin/kernel.dll, 但是IGTC编译时要检测…/kernel/debug/kernel.dll是否为最新生成的,如果不是,则会出现上述提示且编译不成功!四、解决方法:将…/bin/kernel.dll拷贝至…/kernel/debug/中替换即原创 2022-04-01 09:33:52 · 249 阅读 · 0 评论 -
Qt中sqlite事务实例
sqlite事务实例:第一种方法: QString tempStr1=""; QDateTime startT=QDateTime::currentDateTime(); query.exec("BEGIN TRANSACTION;");//开始事务。使用BEGIN也可以 bool ok1=false; //第一种方法:使用exec,虽然使用了事务,但是还是单条提交 while((!subEndDateTime.isNull())&&subEndD原创 2022-03-22 09:25:04 · 1827 阅读 · 2 评论 -
使用.net framework框架的HttpWebRequest对象请求在qt端显示非法字符的解决方案
一、.net客户端跨平台访问其他语言开发的接口的注意事项:qt开发的接口,使用.net framework框架的HttpWebRequest对象请求,在qt端显示非法字符,解析失败,但是同样的代码使用.net core就能请求成功,原因是.net framework使用底层是HttpWebRequest对.net framework依赖性很强,而.net core使用的底层是socket无需依赖,在网上找到一个第三方组件StandardSocketsHttpHandler(开源的)就解决了这个问题。另外,原创 2022-01-24 15:56:57 · 1010 阅读 · 0 评论 -
Qt项目在debug编译时可以正常运行改为release模式后提示:找不到DLL文件的解决方法
含有c++ library的Qt项目在debug编译时可以正常运行,改为release模式后,提示:找不到IGTC.DLL文件。原因如下:因为在release/IGTC/release目录下找不到这个文件导致。解决方案:从debug/IGTC/debug目录下拷贝IGTC.DLL到release/IGTC/release文件夹下,再编译即运行成功!要想在发布文件夹下有IGTC.DLL文件,必须保证在ICTC/release文件夹下有该文件才能发布到bin文件夹下,否则不行!秋风写于淄博,业务联系与技原创 2022-01-21 10:17:42 · 2101 阅读 · 0 评论 -
Qt中创建的C++库如何直接生成DLL到总项目的bin文件中
Qt中创建的C++库如何直接生成DLL到总项目的bin文件中,以下代码为C++库的pro文件的内容QT -= guiQT += serialportTARGET = IGTCTEMPLATE = libDEFINES += IGTC_LIBRARYCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked d原创 2022-01-19 08:30:43 · 691 阅读 · 0 评论 -
WebForm通过webservice接口远程读写工控机视频车辆检测器配置文件的方法
视频检测管理平台远程读取信号机配置文件的方法:一、浏览器地址栏输入:http://XXX.XXX.X.XXX:XXXX/config 即可获取信号机的配置文件内容,以json格式显示,在平台开发中是不能通过ajax读取这个URL中的内容的,因为跨域问题,浏览器拒绝访问。二、解决读取跨域问题:迂回战术解决,即在页面通过ajax提交请求后端的WEBMETHOD方法,通过后端访问上面的URL,即可跳过浏览器取到值然后返回页面。远程读取配置文件的接口URL:http://XXX.XXX.X.XXX:XXXX/c原创 2022-01-07 16:21:37 · 1663 阅读 · 0 评论 -
GUI界面假死的处理
GUI界面假死的处理在GUI程序中,主线程也叫GUI线程,因为它是唯一被允许执行GUI相关操作的线程。对于一些耗时的操作,如果放在主线程中,就是出现界面无法响应的问题。这种问题的解决一种方式是,把这些耗时操作放到次线程中,还有一种比较简单的方法:在处理耗时操作中频繁调用QApplication::processEvents()。这个函数告诉Qt去处理那些还没有被处理的各类事件,然后再把控制权返还给调用者。QElapsedTimer et; et.start(); while(et.elapsed原创 2021-12-14 15:16:52 · 736 阅读 · 0 评论 -
Qt获取文件路径的方法
Qt获取文件路径的方法 QString file_full, file_name,filePath,file_path,file_suffix; QFileInfo fileinfo; filePath = QCoreApplication::applicationDirPath(); file_full = QFileDialog::getOpenFileName(this, tr("打开视频文件"),filePath, "视频文件(*.mp4);;所有文件(*.*)"); f原创 2021-11-20 16:13:16 · 6666 阅读 · 0 评论 -
车辆视频检测器检测参数配置
车辆视频检测器检测参数的最佳配置double whiteCarYuZhi=14;//白色车阈值double blackCarYuZhi=7;//黑色车阈值5double otherCarYuZhi=11;//其他色的车阈值6int frameDifference=19;//帧差阈值:调整依据:每辆车应过检3次为基准(只有一次判断为有车)25int graySum=0;//宽度为1像素,高度为20像素区域内的每个点的灰度值合计阈值,在后面会根据不同颜色的车辆改变此值int whiteGrayS原创 2021-11-13 13:31:17 · 3267 阅读 · 1 评论 -
Qt中判断图像亮度是否正常获取亮度设置亮度的方法
//判断亮度是否正常int MainWindow::brightnessException (Mat InputImg){ int calcResult; Mat GRAYimg; cv::cvtColor(InputImg,GRAYimg,COLOR_BGR2GRAY); float a=0; int Hist[256]; for(int i=0;i<256;i++) { Hist[i]=0; for(in原创 2021-11-13 13:24:28 · 1780 阅读 · 0 评论 -
qt c++中取图像每个像素点的rgb的数值的方法
qt c++中取图像每个像素点的rgb的数值的方法for(int i=0;i<curFrame.cols/5;i++) { for(int k=0;k<curFrame.cols/5;k++) { int temp_x=(int)(5*i+5); int temp_y=(int)(5*k+5);原创 2021-11-13 13:20:41 · 3752 阅读 · 0 评论 -
yolo目标检测应用
yolo目标检测应用:https://aistudio.baidu.com/aistudio/education/group/info/1617原创 2021-10-29 09:31:45 · 627 阅读 · 0 评论 -
Qt中出现ACCESS_MASK错误的解决办法
出现error: reference to ‘ACCESS_MASK’ is ambiguous ACCESS_MASK GenericRead 解决办法出现的原因:使用了opencv库调用了windows生态函数 #include <winnt.h>这个导出了冲突在这里插入图片描述解决办法,将使用的using namespace cv;这个去掉。把代码中所有调用opencv的改成cv::func()这种格式就OK了...原创 2021-10-28 16:43:43 · 946 阅读 · 0 评论 -
Qt开发知识点:全局变量在整个程序中会显示蓝色字体,其他变量不会显示蓝色
Qt开发知识点:一、全局变量在整个程序中会显示蓝色字体,其他变量不会显示蓝色。二、在h文件中定义的全局变量,在其他cpp文件的使用方法是:即在其他cpp文件中包含上述的h文件,即可访问到全局变量。...原创 2021-10-15 16:56:22 · 592 阅读 · 0 评论 -
Qt中的cpp文件如何在QML界面中使用
Qt中的cpp文件如何在QML界面中使用:一、在main.cpp中注册:qmlRegisterType(“an.qt.ColorMaker”,1,0,“ColorMaker”);:指cpp文件“ColorMaker”:是在qml中的类名an.qt.ColorMaker,1,0:在qml中一般引用方法:import an.qt.ColorMaker 1.0,这个名称可以随便命名,根据自己喜好。二、在qml中引用三、在qml中创建类的对象,然后调用他的接口,即可执行cpp中的方法为qml提供服务。原创 2021-10-15 16:44:50 · 891 阅读 · 0 评论 -
QML显示摄像头视频的解决方案
版本信息:Qt Create 4.11.1Qt 5.14.1主窗口开始时视频显示代码,主要思路:main.cpp中engine注册方式,使用imageprovide类为视频提供图像源,在前端使用计时器轮换调用摄像头的图像用于视频显示起初设想:用Connects信号槽连接,在接收到帧时触发信号执行槽函数获取某摄像头的图像,给前端qml发送信号,但是没有成功,究其原因:后端与前端都创建了Connects,接收对象不同,所以前端接收不到后端发送的信号,要想使用信号处理,必须前端调用后端创建的对象,即:原创 2021-10-14 12:01:46 · 3255 阅读 · 1 评论 -
QML中ChartView及子控件的字体设置
QML中ChartView的标题需要的是string类型的值,可以使用titleFont:tt.font方法借用tt(tt是Text类型)的font属性来达到设置字体属性的方法,还可以使用html的方法,直接设置字体属性。...... ChartView { id:chartView01 width: parent.width height: parent.height legend.visible:原创 2021-09-27 15:25:11 · 847 阅读 · 0 评论 -
QML中ChartView中的控件的字体如何自定义
一、首先定义一个Text类型二、其次定义一个控件,这里定义了LineSeries三、然后在funtion中为需要定义字体属性的控件使用Text类型的font属性说明:由于crossingName.pointLabelsFont不能直接定义,只能借用Text的font属性 Text { id:tt color: "blue" font.family: "Arial" font.bold: true font.itali原创 2021-09-27 15:06:26 · 703 阅读 · 0 评论 -
Qt中使用多线程并返回结果到主线程的例子
Qt中使用多线程是通过connect关联信号和槽来实现子线程与主线程之间的数据传递与页面数据展示的,详细请看下面实例:下面三行代码是实现主线程与子线程通信的信号连接。//子线程运行了RUN()中的retrun之后会发出finished信号,来执行子线程中QObject::deleteLater方法connect(&workerThread1, &QThread::finished, worker, &QObject::deleteLater);//主线程发射信号子线程执行槽函原创 2021-09-11 17:30:30 · 3622 阅读 · 1 评论 -
关于c++的变量与指针的关系
关于c++的变量与指针的关系一、int b=10;//定义变量,申请了一块内存二、int &c=b; //定义引用,和b共用一块内存三、int d=b; //新定义了一个变量,将b的值赋给了d,新申请了一块内存,赋值后就与d没有任何关系了。四、int *c1=&b;//定义指针,取b的内存地址给c1,与b共用一块值内存地址,但是申请了一块c1的指针地址五、int *c3=new int(24);//定义指针,指针包含两块内存:1、指针地址;2、值内存址址六、int ** c2=&原创 2021-09-10 10:43:56 · 142 阅读 · 0 评论 -
QML及Python基础学习
【QML Model-View】ListView-简单使用(一)https://www.cnblogs.com/linuxAndMcu/p/13595298.html【QML Model-View】ListView-增删改查(二)https://www.cnblogs.com/linuxAndMcu/p/13597106.html【QML Model-View】ListView-动画+上移下移(三)https://www.cnblogs.com/linuxAndMcu/p/13597128.htm原创 2021-08-26 14:05:19 · 446 阅读 · 0 评论 -
opencv视频只显示截图部分的方法
void MainWindow::on_pushButton_2_clicked(){VideoCapture cap;const std::string videoStreamAddress = getCamUrl().toStdString();if(!cap.open(videoStreamAddress)) {std::cout << “Error opening video stream or file” << std::endl;return;}Mat I原创 2021-08-24 09:26:08 · 239 阅读 · 0 评论 -
配置扩展模块opencv_contrib
配置扩展模块opencv_contrib:opencv有些功能不是很稳定需要的话要专门配置扩展模块,详细说明到下面网址:https://www.huaweicloud.com/articles/fe5ed473e176b9694f9673b07f0978e4.html原创 2021-08-19 10:55:52 · 155 阅读 · 0 评论 -
Qt中设置、打开、捕获、显示网络及本地摄像头的方法
Qt中设置、打开、捕获、显示网络摄像头的方法:一、打开网络摄像头并使用void MainWindow::on_pushButton_clicked(){ Mat img; Mat img_2; cv::VideoCapture vcap; cv::Mat image; const std::string videoStreamAddress = getCamUrl().toStdString(); std::cout << "Address:原创 2021-08-18 11:25:21 · 2162 阅读 · 3 评论 -
qml中刷新chartview中子对象的方法
刷新lowerSeries的高度:先删除再为lowerSeries增加两个点即可实现 var l0x=northleft.lowerSeries.at(0).x; var l0y=northleft.lowerSeries.at(0).y; var l1x=northleft.lowerSeries.at(1).x; var l1y=northleft.lowerSeries.at(1).y; northleft.lowerSe原创 2021-08-10 18:17:23 · 403 阅读 · 0 评论 -
QML中利用ColumnLayout 、Rectangle、Grid、RowLayout布局方法
QML中利用ColumnLayout 、Rectangle、Grid布局方法:anchors.fill:parent:锚点布局:填充父窗口Layout.fillHeight:true 填充高度Layout.fillWidth:true 填充宽度布局思路:先用ColumnLayout,然后再用Rectangle划分每个区域,在rectangle中再RowLayout或Grid进行布局,如果一行的控件比较多建议使用Grid,这里注意一行中的对齐方式的设置,如果想所一行中的所有控件都竖向居中,首先在上一原创 2021-08-06 17:13:40 · 2054 阅读 · 0 评论 -
js中字符型数值在判断比较时无需转换为数值型数据可直接按数值型数据使用,但是计算时应转换为数值型数据再进行使用
在QML中写function函数可以直接使用js语法!QML是支持的!objdata.channel4U.channel是从配置文件中读到的数据的都是字符型数据,但是如果读到的是数值,在js中做判断时无需进行字符到数值的转换,会自动处理function updateDataChannelB(id_channelB, objdata){ switch(objdata.channel4U.channel) { case 0: id_ch原创 2021-08-05 11:15:05 · 195 阅读 · 0 评论 -
QML新建QML后编译出错的解决方法
解决方法:原有工程可以编译通过,添加了新的qml文件后,编译出现以下错误:undefined reference to QmlCacheGeneratedCode XXX重新构建工程,错误仍未解决。将编译文件夹下的.qmake.stash文件删掉,重新编译,发现可以编译通过,且不提示该错误了。以上方法,仍未解决问题的话,可以删掉Release文件夹或Debug文件夹的东西,如下图所示。...原创 2021-08-03 10:07:25 · 1257 阅读 · 0 评论 -
QML中TextField只允许录入整型数据并自动去掉前置0的实现方法
QML中TextField的输入限制方法 TextField {id: id_channelA01; placeholderText: "0~128"; Layout.fillWidth: true; z: 1 validator: RegExpValidator{ regExp:/[0-1][0-2][0-8]/原创 2021-08-03 08:43:55 · 1457 阅读 · 0 评论 -
【QML 快速入门】QML语法-基础篇
【QML 快速入门】QML语法-基础篇:转载https://www.cnblogs.com/linuxAndMcu/p/11594541.html#_label6原创 2021-08-03 08:12:10 · 345 阅读 · 0 评论 -
Qt导出数据到EXCEL的两种方式
一、导出到csv格式,这种格式不用安装officeQString DModel::exportDataToCSV(QString lx){ QString dtStr="d:/"+lx+"DbToExcel"+QDateTime::currentDateTime().toString("yyyyMMddHHmmss")+".csv"; //以下是保存csv QFile file; file.setFileName(dtStr); if原创 2021-08-02 10:08:14 · 11391 阅读 · 6 评论 -
车辆检测软件的发布方法
一、创建数据库的代码不能写在main.cpp中,否则调试状态下正常,发布后无法创建数据库二、发布步骤:1、把主文件拷贝到单独文件夹2、cmd窗口中切换到主文件夹中,使用windeployqt.exe view_v1.exe3、把opencv相关dll文件拷贝到主文件夹中4、把D:\Qt\Qt5.14.2\5.14.2\mingw73_32\qml的子文件夹拷贝到主文件夹中5、把D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin下的Qt*.dll文件拷贝到主文件夹下6、把调原创 2021-07-30 20:01:05 · 303 阅读 · 0 评论