Qt
文章平均质量分 51
阿酷亚莫塔塔(张学鹏)
共同学习,共同进步
展开
-
Qt+ECharts 数据大屏
Qt+EChart 数据大屏原创 2022-09-25 22:43:35 · 936 阅读 · 3 评论 -
Qt+ECharts 饼状图
Qt+echarts原创 2022-09-23 23:09:41 · 443 阅读 · 0 评论 -
Qt+ECharts 双轴柱状图
Qt+ECharts 双轴柱状图原创 2022-09-23 22:26:42 · 381 阅读 · 0 评论 -
Qt+ECharts 表盘图
Qt+ECharts原创 2022-09-23 20:10:43 · 388 阅读 · 1 评论 -
QCustomPlot画带数值标签的柱状图
简介:QCustomPlot是Qt常用于画统计图的工具库,最近本人在使用该库画柱状图时发现一个问题——QCustomPlot没有直接加柱子数据标签”的函数,需要自己写此功能。,根据该博文,本文给出了详细的代码并进行了改进。原创 2022-09-06 16:18:16 · 932 阅读 · 5 评论 -
Libtorch之一元线性拟合(C++/Qt)
简介 一元线性回归是机器学习算法中最简单、直观的算法,对于学习深度学习,虽然简单但必学,是学习深度学习的 “hello word”,本节通过Libtorch来实现这个算法,所参考的Pytorch例子为书上的案例。至于一些基本的理论知识在博客中不会提到。一是因为网上有许多大佬的帖子或博客写的很好。二是本人目的想通过C++实现深度学习(目前主要是复现pytorch案例),兴趣于此。所以基本上都是直接给代码。希望能给大家带来一点参考的价值。1.神经网络的创建:class LinearR...原创 2021-11-25 23:25:42 · 1327 阅读 · 2 评论 -
Libtorch之神经网络线性拟合(C++/Qt)
简介 对于深度学习,一般使用PYTHON接口的Pytorch或其他库,但由于本人一直使用C++语言,所以打算通过C++接口的Libtorch来搭建神经网络。下面是通过对比网上的一个Pytorch简单的线性网络例子实现的一个拟合代码。1.神经网络的创建:class myNet :public torch::nn::Module {public: myNet(int64_t n_feature, int64_t n_hidden, int64_t n_output) {...原创 2021-11-23 22:47:28 · 2487 阅读 · 0 评论 -
Qt 判断字符串是否为数字
在网上收了一下关于Qt判断字符串是否为数字的结果,都比较复杂,好多人都自己写函数,其实Qt有一个函数toDouble可以实现这个功能,如下:QString str = "1234.56";bool ok;double val = str.toDouble(&ok); // ok为true说明str为数字,为false说明str为非数字...原创 2021-11-08 20:52:33 · 6898 阅读 · 0 评论 -
GDAL之投影信息变量自动消失的解决方法
1.问题简介使用GDAL获取栅格影像投影信息时,通常使用的函数为:poDataset->GetProjectionRef()或者GDALGetProjectionRef(poDataset)它们的返回值均为 const char * 类型,今天在使用其获取投影后返回值是有内容,当经过中间运行其他函数后,该返回值时而有内容,时而没有,打印出来会现在下面情况(qDebug() << "proj:" << myProj << endl;):原创 2021-11-08 18:43:40 · 551 阅读 · 0 评论 -
Linux (Centos7) 系统下配置GDAL3.X+Qt (一种快速方便配置GDAL3.X的方法)
最近在Centos7系统下处理NC格式数据,所以需要配置GDAL库。GDAL编译需要一些库的支持,比如proj6、SQLite3与hdf5等。本来想通过下图方式编译各种库来配置GDAL,但是因为各种库的版本与编译环境等问题,一直出现问题,所以就没有按以下方式逐个进行编译各种库,下面介绍我编译的方式,相对来说方便简单,作为配置GDAL参考。1.升级GCC/G++Centos7自带的GCC(G++)为4.8版本的,该版本的编译器不支持GDAL所需的C++11,所以需要升级。yum -y in.原创 2021-11-03 00:34:21 · 1049 阅读 · 0 评论 -
Qgis二次开发,获取图层原路径
QgsRasterLayer* l = qobject_cast<QgsRasterLayer *>(layer);//获取图层 QString fileQmd = l->metadataUri(); fileQmd.chop(3); QString fileName = fileQmd + "tif";//这里以栅格TIF为例,可以换成其他格式原创 2020-10-12 21:35:27 · 1061 阅读 · 0 评论 -
PyQt5打包发布后出现闪退或缺少模块的解决方法(附加问题Cannot find existing PyQt5 plugin directories与This application failed )
(附加问题Cannot find existing PyQt5 plugin directories与This application failed to start becaise no Qt platform plugin could be initized的解决方案 ),因为不想再写一篇博客,就简单说一下,偷个懒,希望能帮到大家。首先先上我的问题:在没打包发布前是没有任何问题的,打包成为EXE文件后,就出现这个情况了。从上面的提示可以看出程序是有一个模块找不到,可能各位出现了同样的情况,但缺少原创 2020-07-30 22:06:41 · 4122 阅读 · 1 评论 -
Qt Creator与Qt+VS2015调用Python代码的实现
下面来介绍分别用Qt Creator与Qt+VS2015调用Python代码,首先电脑中要安装Python IDE与Qt。我电脑中安装的是Python37,VS2015+Qt5.8、Qt Creator5.8.0,不管是哪个版本实现步骤都是一样的,均可参照。一、设置Python系统环境 这俩个路径最好是放在顶端,防止电脑中安装多个版本找不到对应的系统环境,具体...原创 2020-05-04 22:56:54 · 969 阅读 · 1 评论 -
QAxBase: Error calling IDispatch member Open: Exception thrown by server
用Qt调用EXCEL文件时会通过下面两个函数中的其中的一个来实现1. mWorkBooks->querySubObject("Open(const QString &)",fileName)2.mWorkBooks->dynamicCall("Open(const QString &)", fileName)上面两个函数都可以打开EXCEL文件,其中参数 ...原创 2020-05-04 00:38:46 · 8500 阅读 · 1 评论 -
QGIS二次开发,拖放打开文件(Qt基本控件也适用)
为了将自己写的程序平时更好用更人性化,其中拖放打开文件是软件一个不可少的功能,有了这个功能免去了打开按钮再找文件对应路径的麻烦,虽然本文中介绍的是QGIS二次开发内容中的一部分,但是用的是Qt功能,所以也适用Qt中控件打开某种格式的文件,下面就介绍如何写这个功能。 拖放功能事件的完成是由两个响应事件完成,分别为 QDragEnterEvent与QDropEvent。这...原创 2020-04-27 15:52:55 · 1692 阅读 · 6 评论 -
Qt的窗口拉伸QDockWidget,一个窗口变大,另一个窗口变小
平常使用 QDockWidget 时,都是使用QtDesigner直接拖入后使用,使用时也没有什么不对劲的。今天用代码写了一个QDockWidget后发现窗口这间不能拉伸,也不能移动停靠位置,如下图不能按箭头方向拉伸控制各窗口大小。 后来发现是因为我使用布局的原因 ,我将窗口2与窗口3使用垂直布局,然后再与窗口1使用水平布局。使用布局后的QDockWidget 是不...原创 2020-04-27 10:52:58 · 2900 阅读 · 0 评论 -
QGis二次开发,基本功能实现
最近在查看QGIS源码,经过几天的努力把基本功能实现了,界面如下:其中基本功能包括新建、打开项目、打开矢量文件、打开栅格文件、保存、另存为、漫游、识别、放大、缩小、全图、二次开发帮助、图层管理。因为map工具的实现方式基本都是一样,所以只实现这几个,可还对照源码实现其他功能。一、文件功能文件功能可以参照我以前的博客。二、漫游、识别、放大、缩小、全图1.工具的创建 ...原创 2020-04-15 15:49:13 · 10255 阅读 · 21 评论 -
Qt学习笔记
一、Qt加载SVG图标将Qt目录下plugin中的imageformats文件夹复制到EXE所在的目录下。原创 2020-11-26 09:37:49 · 621 阅读 · 0 评论 -
QT读取文件夹内的特定格式的文件
本文介绍的是在文件夹内读取TIF文件,将文件的绝对路径保存到一个列表中,具体的函数代码如下:QList<QString > qt_fileList::getFileList(QString dir){ QDir dirFile(dir); QList<QString > files_abs_path; QList<QFileInfo > files...原创 2020-02-16 20:22:32 · 606 阅读 · 0 评论 -
QGis二次开发,子父窗口同步与不同步加载影像
今天写了两个窗口来来加载影像,一个是父窗口的Canvas另一个是子窗口的Canvas,我写子窗口是为了写几何校正的所以用到了一个Canvas来显示影像与校正的成果,但是我发现每次要显示影像时,子窗口的Canvas显示影像就会引起父窗口的Canvas也显示同一张影像,如下:上面就是子父窗口的影像同步显示,这是因为在子窗口的影像显示时有下面一行代码,其中my_rasterLa...原创 2020-01-03 20:51:41 · 597 阅读 · 0 评论 -
QGis二次开发,栅格影像像元识别工具的实现(下)
代码:1.重写鼠标事件// 创建一个自己的类(*.h)class myMapCanvas : public QgsMapCanvas{ Q_OBJECTpublic: myMapCanvas(QWidget *parent); ~myMapCanvas();signals: void sendXY(QPoint point);protected: vir...原创 2020-01-01 22:54:07 · 363 阅读 · 0 评论 -
QGis二次开发,栅格影像像元识别工具的实现
栅格影像像元识别是GIS中普通的工具,在这篇文章中就用QGis的二次开发来说说是怎么实现的,因为难度不大,所以在这就不过多的来说。在QGis中在工具栏中,如下图: 这个工具的实现不同的人会有不同的方法,我用的是对QgsMapCanvas重写,添加一个鼠标点击事件来获取当前鼠标的坐标值,再用QgsMapToolIdentify来实现被点击像元的值。结果如下:...原创 2019-12-31 22:43:15 · 1356 阅读 · 1 评论 -
QGis二次开发,栅格图层波段的保存
对于栅格或矢量影像的读取并显示出来在前面的文章中已经写出,显示方面可以参考前面的文章。在这个文章中主要写的是把栅格影像读取出来后,若是对其进行了处理后如何把栅格波段保存成为TIF格式的文件。 如果学习过GDAL的话就很容易理解,和GDAL的保存成TIF文件差不多,下面是具体的代码与步骤,可以作为参考:1.首先是获取栅格图层 QgsRasterLayer ...原创 2019-12-27 17:44:13 · 2001 阅读 · 0 评论 -
QGis二次开发,栅格影像计算
最近在写一个栅格计算器,用到了两个类,一个是QgsRasterCalculatorEntry,另一个是QgsRasterCalculator。这两个类就可以实现栅格计算器的功能。 在使用QgsRasterCalculatorEntry与QgsRasterCalculator这两个类之前要引入一个头文件#include <qgsrastercalculator....原创 2019-12-26 19:03:10 · 2632 阅读 · 7 评论 -
Qt+opencv读取图片显示在Qt窗口内
opencv有自己特有的显示窗口(可通过imshow()显示),当Qt与opencv相结合时若想用Qt的窗口来显示图片需要以下步骤:1.用opencv的 imread() 函数把图片读取出来;2.将读取出来的bgr格式图片转换为rgb格式,用 cvtColor() 函数;3.再将转换后的rgb格式图片转换成Qt中的QImage图片;4.通过QLable显示;代码如下...原创 2019-07-13 15:13:03 · 3982 阅读 · 3 评论 -
QGis二次开发,打开影像并在Qt控件中显示
在这介绍的是通过QGis的二次开发,将影像打开后然后显示在Qt的控件中,我用的这个控件是QTabWidget。总体的思想是就是将QgsMapCanvas这个类的实例化对象添加到QTabWidget里面,显示QTabWidge的时候就会把QgsMapCanvas也显示出来,这就实现了通过Qt的控件来显示影像。1.首先将QgsMapCanvas这个类的实例化对象添加到QTabWid...原创 2019-12-23 19:45:09 · 3579 阅读 · 6 评论