
qt
文章平均质量分 55
lim466161
这个作者很懒,什么都没留下…
展开
-
QTreeWidget虚线设置
对QTreeWidget设置相应属性显示虚线原创 2022-07-21 12:01:26 · 1561 阅读 · 0 评论 -
quazip含有中文文件名文件乱码解决方法
要压缩的几个文件中含有中文文件名文件,经过quazip压缩后,压缩包里对应的文件名存在乱码,只要将QuaZip的编码格式设为gbk即可,直接上完整代码://将多个文件压缩并保存int compressFile(QStringList filePathList, QString savePath){ QStringList wrapper = filePathList; QString zipLocation = savePath; QuaZip zip(zipLocation); zip.s原创 2022-05-23 12:37:28 · 758 阅读 · 0 评论 -
Qt嵌入外部程序界面初探
项目需要将一个外部软件嵌入自己编写的qt界面,类似于将外部程序当作自己软件的一个插件,以起到集成的目的。自己刚开始用电脑自带的计算器做例子,但一直没成功,换了其他软件就能成功嵌入。流程:1)首先打开需要的外部程序;2)通过spy+获取的外部程序类名;3)将类名当作函数FindWindow的第一个参数(字符串);代码: HWND m_pwHwnd = NULL; QWidget* m_widget = nullptr; while (!m_pwHwnd) {原创 2022-03-23 11:54:05 · 6691 阅读 · 8 评论 -
利用QStakedWidget和QListWidget实现导航栏功能
实现的功能类似vs的项目属性栏,主要使用QStakedWidget和QListWidget两个类实现,但最会出来的效果有些类似QTabWidget(源码仓库)。QListWidget的flow属性一般为TopToBottom,而在本demo中设置为LeftToRight,代码最终的效果如下:讲解下代码如何。(1)首先在MainWindow ui中拖进来一个QListWidget,然后建立三个居中的item,分别为Widget1、Widget2、Widget3,并且设置样式表为:QListWidg原创 2022-01-27 13:30:13 · 1877 阅读 · 0 评论 -
http通信之使用Qt的post请求上传文件(xml文件)
原来使用json传过参数,还用过application/x-www-form-urlencoded类型进行post请求,但仅仅是使用而已,没有对http通信进行过较深的学习。这不,一个项目用到了http通信,且对方要求上传xml文件,而不是字符串,并且带有token做验证。其中,项目对于post请求的要求是:先使用postman做http通信测试,在经过N次测试后,终于能正确返回xml数据了,开森~最后,上qt代码实现:QDomDocument uploadXmlFile(QString xmlPa原创 2022-01-26 22:45:15 · 4964 阅读 · 3 评论 -
qt网络post请求错误QIODevice::read (QDisabledNetworkReply): device not open和Network access is disabled解决方法
在做一个有关agv小车的项目,需要自编qt程序连接服务器获取数据,http请求类型为post,发送的数据类型为json。稍微在网上搜一下,就可以找到千变一律的代码,直接粘过来用就可以了。但调试了一下午,就是获取不了数据,而用postman调试却可以获得正常的数据,输出的错误如下所示:Error warning: "Network access is disabled."QIODevice::read (QDisabledNetworkReply): device not open看了qt的QNe原创 2021-12-21 13:34:57 · 3935 阅读 · 3 评论 -
OPC UA编译报错之无法解析的外部符号报错解决方法
利用open62541库结合qt编写OPC UA客户端通信程序,在编译过程中遇见了“无法解析的外部符号”问题,该博客记录了解决该报错的过程及方法。原创 2021-12-03 14:54:29 · 1233 阅读 · 0 评论 -
FreeCAD编译错误解决方法
freeCAD是学习OCC库和Qt的一个重要开源软件,但在vs编译时很容易出现错误,例如我就出现了如下关于PartDesign的错误。在网上查了一些解决方法后,解决方法流程如下:1)在cpp前面添加:#pragma execution_character_set(“utf-8”)2)右键项目——属性:配置属性——高级——字符集:设置为“使用多字节字符集”在“C/C++——>命令行”后添加:/utf-8修改完再次编译就成功了。...原创 2021-11-30 09:42:55 · 2930 阅读 · 1 评论 -
VS多工程解决方案配置
对于大型项目,VS解决方案需要分模块建立不同的工程,这时候很容易出现子工程某个文件找不到或编译失败的情况。下面就如何配置多工程方案讲解,以有两个工程的(主工程SpatialMeasurment,子工程OsgWidget)解决方案为例展开,其中子工程用到了第三方库Osg(开源三维渲染库)。解决方案目录结构如下。由于一个解决方案只能有一个exe,所以子项目OsgWidget的配置类型为“静态库(.lib)”,最好设置下lib的保存路径(例:输出路径为…/lib\)。对应地,主工程SpatialMeasurme原创 2021-11-24 16:14:37 · 1652 阅读 · 0 评论 -
右键菜单控制节点显隐的QTreeWidget功能实现
实现功能右键点击弹出带有显示和隐藏两个action的菜单。其中,显示、隐藏action用字体颜色表示,显示时为黑色,隐藏时为lightGray。如果是父节点显示或隐藏,其下的子节点也会跟着显示或隐藏,这个功能主要靠递归函数实现,有些暴力,还有待改善算法实现。Plus,多选也是支持滴。实现节点显隐的主要代码void QtWidgetsApplication3::showItem(QTreeWidgetItem* item){ int count = item->childCount();原创 2021-11-22 22:07:25 · 843 阅读 · 0 评论 -
VS打开Qt的ui界面几秒后闪退(ui无法打开文件)的解决办法
VS打开Qt的ui界面几秒后闪退(ui无法打开文件)的解决办法问题:近两天在vs中直接点解ui界面,自动调用Qt Designer打开界面几秒后Designer界面闪退,回到vs界面,并有“——.ui无法打开文件”的错误提示。这个问题应该是Windows或Qt哪些东西更新造成的,用Qt的几个同学都有反应这个问题。解决方法:注:软件版本:VS2017 + Qt5.13.0方法一:1)ui界面右键,进入“打开方式”,找到Qt安装路径下的designer.exe并点击(例如,我的路径为D:\Qt\原创 2021-03-16 23:02:11 · 25848 阅读 · 24 评论 -
利用Qt解决Opencv保存图片路径含中文情况下无图片保存的问题
利用Qt解决Opencv保存图片路径含中文情况下无图片保存的问题问题:如下代码所示,当使用opencv的imwrite函数时,给的路径不能含有中文,否则没有图片保存。QString path = m_savePath + "/RefPointsMarker.png";imwrite(path.toStdString(), img);//路径含有中文不会保存图片解决方法:将Mat类型转化为QImage,然后利用QImage::save()函数保存图片即可。以下为Mat类型转QImage的代码。原创 2020-12-24 10:58:42 · 934 阅读 · 0 评论 -
解决VS2017+QT中文存在情况下字符乱码或编译出错的问题(亲测有效)
(1)Tool》Extensions and Updates下的Online中下载插件ForceUTF8(with BOM)(2)将“高级保存设置”的编码设置为有签名的UTF-8(65001)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-26ckpZTX-1591623551194)VS2017修改编码格式为utf-8,再也不用担心乱码了()](3)在入口函数main中的添加如下代码,设置解析字符集。system(“chcp 65001”);此步设置解析字符集(原创 2020-06-08 21:43:08 · 1901 阅读 · 0 评论 -
将float转化为QByteArray(作为缓存区),再转化为float(基于C++和QT)
**将float转化为QByteArray(作为缓存区),再转化为float**float *f = new float[4] ; float *receive = new float[3] ; f[0]=1.0; f[1]=2.0; f[2]=5.232; f[3]=4.232; QByteArray array(reinterpret_cast<const char*>(f), sizeof(float)*4); //QMess原创 2020-08-06 23:27:59 · 791 阅读 · 0 评论 -
VS2017配置FFTW库及FFTW库lib生成
FFTW是世界范围内最有名的计算fft的库,平时熟悉的Origin及Matlab计算fft采用的也是fftw。fftw库支持计算一维及多维的任意长度数据,反正用就行了,毕竟人家成熟商业软件计算fft用的都是这个库,更多详情请查看其官网fftw库官网。FFTW官网提供了源码及头文件、dll、def文件,一般我们需要根据def文件生成lib文件,也可以用源码+Cmake生成dll和lib文件。网上得到lib文件的方式基本都是根据vs自带的lib.exe将.def文件生成.lib文件。如下图所示(利用vs201原创 2020-06-23 23:13:10 · 1885 阅读 · 0 评论 -
QCustomPlot之光标划过曲线显示点的坐标
在网上查了这方面的内容,几乎清一色的都是主要用QCPItemTracer和QCPItemText这两个类实现的,实现代码冗长,现在的我还没有搞懂。最后,发现通过QToolTip实现该功能是个挺简便的方法,能实现一个函数就搞定了,保证了代码的轻量级,随拿随用,下面就给出代码实现(qt 5.13 +vs2017+ C++)。(1)首先建立一个鼠标移动时间响应函数:private slots: void myMouseMoveEvent(QMouseEvent *event);(2)将槽函数myMous原创 2020-07-01 09:57:10 · 3984 阅读 · 1 评论