QT
文章平均质量分 67
雪易
从事医学图像图形算法相关的工作,包括图像的三维重建、分割、配准以及网格处理等,熟悉OpenCV、VTK、ITK等第三方库;CSDN一直在线,欢迎各位小伙伴骚扰
展开
-
【QT】 Word模板编辑、转PDF格式
本文分享基于QT进行Word模板编辑以及Word转PDF的技术,希望对各位小伙伴有所帮助!目录前言1. 制作Word模板2. 基于QT编辑Word模板3. Word转PDF1. 制作Word模板-添加书签》新建Word文档》插入---标签将待插入内容制作为标签》保存为.dot格式2. 基于QT编辑Word模板。原创 2023-08-14 13:32:31 · 1319 阅读 · 0 评论 -
【QT】绘制旋转等待
程序中经常会遇到耗时的操作,需要提供等待的窗口,防止用户多次点击造成卡顿等问题。本文分享旋转等待技术,希望对各位小伙伴有所帮助!结果如下:目录前言1. 基于gif动图的旋转等待2. 基于QPainter的旋转等待3. 免费的动图生成网站4. 下载地址1. 基于gif动图的旋转等待》.h文件Q_OBJECTpublic:private:》.cpp文件delete ui;return qc;accept();原创 2023-08-23 13:55:35 · 2325 阅读 · 1 评论 -
【QT】设置焦点及光标位置
本文分享Qt中如何设置焦点和光标位置的解决方案,并给出常见的问题解决方案,希望对各位小伙伴有所帮助!前言1. QT中控件的焦点策略3. QLineEdit获取焦点并显示光标4. QPushButton获取焦点后,敲击“回车”执行命令5. setFoucs不生效原因6. 某控件没有按TabOrder执行1. QT中控件的焦点策略在QT的任一控件中,可以看到focusPolicy。帮助文档给出的描述帮助文档描述为3. QLineEdit获取焦点并显示光标。原创 2023-11-06 13:12:25 · 2802 阅读 · 0 评论 -
【QT】中英文切换
本文分享QT中如何进行中英文切换,希望对各位小伙伴有所帮助!1. 生成Translation文件在UI界面制作完成后,新建QT Translation 文件,如下图所示。2. 编辑中英文对照使用Qt VS Tools中的Launch Qt Linguist,打开Translation文件编辑完成后,点击“文件”-“发布全部”,生成对应的.qm文件。3. 中英文切换编码。原创 2024-01-04 16:54:44 · 1609 阅读 · 0 评论 -
【QT】帮助文档
起源:CHM 文件格式是微软于 1998 年推出的基于 HTML 文件特性的帮助文件系统,以替代早先的 WinHelp 帮助系统。它在 Windows 98 中把 CHM 类型文件称作“编译的 HTML 帮助文件”(Compiled HTML Help file)。CHM 文件因为使用方便,形式多样,也被采用作为电子书的格式。Win上CHM文件打开用的是hh.exe,此程序Win自带,此程序借助简单命令即可实现反编译CHM文件。原创 2024-05-23 09:42:53 · 770 阅读 · 0 评论 -
【QT】实时语言切换
一个完整的软件开发通常需要支持多种语言,本文主要讲述实时语言切换开发时的相关解决方案。原创 2024-05-23 10:46:13 · 636 阅读 · 0 评论 -
【QT】QActionGroup & QButtonGroup
本文分享QT中QActionGroup & QButtonGroup,希望对各位小伙伴有所帮助!原创 2024-06-05 13:44:07 · 544 阅读 · 0 评论 -
【QT界面设计】 QSS样式表设计一文了解
本文分享QT界面设计中的QSS样式技术,主要从**、**和**方面展开,希望对各位小伙伴有所帮助!原创 2023-08-11 09:18:02 · 1004 阅读 · 0 评论 -
【QT界面设计】 QTabWidget&QTabBar控件样式设计(QSS)
本文分享QT控件QTabWidget&QTabBar的样式设计,介绍两者可以自定义的内容,以及如何定义,希望对各位小伙伴有所帮助!我将收获到的:1.2.3.目录1.2.3.1. QTabWidget可自定义内容》QTabWidget::pane{} 定义tabWidgetFrame》QTabWidget::tab-bar{} 定义TabBar的位置》QTabWidget::tab{}定义Tab的样式》QTabWidget::tab:selected{}定义Tab被选中时的样式。原创 2023-08-08 15:07:43 · 9361 阅读 · 2 评论 -
【QT】QT事件Event大全
本文分享QT中的事件Event技术,主要从QT事件流程和常用QT事件方法等方面展开,希望对各位小伙伴有所帮助!我将收获到的:1.2.3.目录前言1. QEvent事件概述2.代码说明事件执行流程QApplication的notify函数zxWidget的eventFilter函数3.1. QEvent事件概述QEvent是QT中所有事件的基类,包括鼠标事件、键盘事件、QPaintEvent重绘事件、Timer事件、Drop事件。原创 2023-09-25 16:47:31 · 889 阅读 · 0 评论 -
【QT】 QFile&QFileInfo文件操作
本文分享QT对文件的操作技术,希望对各位小伙伴有所帮助!目录1.2.3.1. QFile构造函数2. QFile常用函数函数名功能copy()复制文件exists()检查文件是否存在open()打开文件remove()删除文件rename()修改文件名设置文件名size()文件大小pos()文件光标当前位置seek()设置文件光标位置atEnd()判断当前是否为文件尾read()读取文件内容close()关闭文件》文件打开模式模式值描述。原创 2023-08-15 14:09:16 · 1208 阅读 · 0 评论 -
【QT】 QT开发PDF阅读器
本文分享QT开发PDF阅读器技术,希望对各位小伙伴有所帮助!结果展示:我将收获到的:1. 如何创建PDFViewer2.创建PDFViewer所依赖的QT库3.PDFViewer的用处目录1.2.3.1.准备PDFViewer所依赖的库》使用开发的QT版本:5.15.2》存在问题:不能直接添加PDF模块》原因:QT5.15.2版本已带有pdf模块,但并未在include中包含,但是在lib和bin目录下能找到相应的.lib和.dll文件。》解决方案:》下载QT5.15.2源码。原创 2023-08-09 10:08:52 · 2873 阅读 · 2 评论 -
VS&Qt 压缩与解压缩
前言:本博文记录采用VS-Qt进行压缩和解压时的VS的配置以及压缩和解压的方法,供其他小伙伴参考。原创 2023-04-25 13:09:02 · 521 阅读 · 0 评论 -
Qt .exe运行程序添加图标并打包发布
本博文主要记录exe运行程序的打包发布整个过程,主要包括添加图标、打包、制作安装过程,发布。原创 2022-11-14 10:55:47 · 281 阅读 · 0 评论 -
PCL点云库 常见错误整理
pcl 错误整理原创 2022-08-26 11:30:15 · 850 阅读 · 1 评论 -
Qt 配置文件.ini
前言在软件编程中配置文件会经常用到的,ini格式文件也是常用的格式。奈何博主的记性不太好容易忘记,特此记录,也供其它小伙伴参考。新建/写入配置文件若该ini文件不存在,则会在相应路径下生成新的.ini文件;若存在,则会打开并写入。QString strDirPath = QApplication::applicationDirPath() + "/system.ini";QSettings* configIniWrite = new QSettings(strDirPath, QS原创 2021-12-17 15:02:14 · 708 阅读 · 0 评论 -
VS + QT 编译/运行问题
1. 编译完成后,运行出现解决方法:将Qt/5.15.2/msvs2019_64/plugins文件夹拷贝到对应的.exe文件路径下即可。2. 应用程序图标设置方法及坑添加资源文件,在资源文件中添加 IDI_ICON1 ICON DISCARDABLE "./icon.ico",将ico的路径对应好即可。重新编译,打开.exe即可看到图标。但是.exe的图标并未变成目标图标,而是这个样子但其实是修改OK的,把这个文件脱离当前的编译环境即可。坑人呐,折腾了我半天。...原创 2021-11-26 11:03:00 · 716 阅读 · 4 评论 -
Qt中Dll库对应的PDB文件
前提:在VS中调试.dmp文件时,出现未找到QCore.pdb文件的问题,因此不能精确的定位到错误下载地址:https://download.qt.io/online/qtsdkrepository/windows_x86/desktoppdb文件的下载是分模块的:常用到的是qtbase下的dll及pdb...原创 2021-04-28 10:54:12 · 597 阅读 · 0 评论 -
QThread介绍
在程序设计中,为了不影响主程序的执行,常常把耗时操作放到一个单独的线程中执行。Qt对多线程操作有着完整的支持,Qt中通过继承QThread并重写run()方法的方式实现多线程代码的编写。针对线程之间的同步与互斥问题,Qt还提供了QMutex、QReadWriteLock、QwaitCondition、QSemaphore等多个类来实现。本篇博客将针对以下几个方面进行讲解[1]QThread的常用接口以及QThread的实现[2]QThread的信号事件[3]QThread执行完后自动释放内存转载 2021-03-17 11:20:47 · 16028 阅读 · 0 评论 -
Qt软件崩溃的解决方法及dmp文件的解析方法
1. Qt软件崩溃的解决方法加入windump,通过生成dmp文件进行崩溃定位2. dmp文件的解析方法1) Qt的pro文件需要加入以下语句,进行pdb的输出QMAKE_CXXFLAGS += /ZiQMAKE_CXXFLAGS_RELEASE += /OdQMAKE_LFLAGS += /DEBUG2)在VS中加载生成的.dmp文件,需要时配置.pdb文件路径+号,添加单个pdb文件; 可以通过2路径的方式添加路径,点击“加载所有符号”加载路径下的符号。3)点击“.原创 2021-02-27 16:17:38 · 2197 阅读 · 0 评论 -
Qt 错误“QMYSQL driver not loaded“
qt下存在mysql的驱动文件,但lib中找不到mysql的库文件,解决方法:1. 安装meriadb,注意版本2. 将meriadb下的lib和dll文件,修改为libmysql.dll和libmysql.lib,放入bin和lib文件夹下 C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin; C:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib备注:检查qt下是否存在驱动文件的方法:1. 目录C:\Qt\Qt5.9.4\5.9....原创 2020-10-16 10:08:26 · 230 阅读 · 0 评论 -
踩坑记录【1】QThread Run调用
欢迎来到雪易博客此文主要目的:使用定时器完成timeout事件,当定时器开始时启动线程,当定时器发出timeout信号时,终止线程。遇到的问题:启动线程后,无法接收timeout信号。问题原因:调用线程时,用Run方法导致。解释:多线程执行时为什么调用的是start()方法而不是run()方法Thead类中start()方法和run()方法的区别start()用来启动一个线程,当调用start()方法时,系统才会开启一个线程,通过Thead类中start()方法来启动的线程处于就绪状态原创 2020-10-10 10:11:51 · 2856 阅读 · 0 评论 -
Qt 监听文件和目录修改
Qt 监听文件和目录的修改欢迎来到雪易博客此文主要介绍Qt中的QFileSystemWatcher类,它主要用于监听文件和目录的修改。主要方法addPath ,添加指定文件/目录的路径;addPaths,添加多个指定文件/目录的路径;fileChanged,指定文件发生修改时,触发该信号;directoryChanged,指定文件发生修改时,触发该信号。参考代码.h文件```cpp#ifndef MAINWINDOW_H#define MAINWINDOW_H#includ原创 2020-10-07 17:24:08 · 1536 阅读 · 0 评论 -
Qt 数据库
数据库初始化bool MyDB::init(){ db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("127.0.0.1"); db.setPort(3306); db.setDatabaseName("a"); db.setUserName("root"); db.setPassword("g."); bool ok = db.open();//建立数据库连接 retur原创 2020-08-21 18:02:19 · 419 阅读 · 0 评论 -
Qt QString与QStringList
QStringList 和 QString 互换QStringList fonts;fonts << "Arial" << "Helvetica" << "Times" << "Courier";QString str = fonts.join(","); QString str = "name1,path1;name2,path2;name3,path3";QStringList list1 = str.split(";"); // 注意原创 2020-08-20 13:48:45 · 443 阅读 · 0 评论 -
Qt 路径简写说明
前言:在Qt应用.pro文件需要记录库文件的路径、包含目录路径、输出路径等信息,这些信息经常会用到一些简写的路径,不清楚的人会一脸懵。本博文旨在对这些简写路径进行说明,也方便在Qt中使用。1. ../../ //表示上一级路径../../ //表示上上级路径,以此类推2. ./:点斜杠代表当前所在的目录。./ //表示当前所在的目录3. // //表示根目录4. $$PWD$$PWD //项目的顶级目录...原创 2020-08-18 13:49:47 · 1780 阅读 · 0 评论 -
Qt 【插件机制 plugin mechanism】
目的:解决Qt开发中的重复性工作,建立一个好的开发模式。以开发一款图像处理软件为例进行说明。当开发一款图像处理软件时,我们需要添加对图像的不同处理方法,比如blur,erode等操作。当把一个操作方法如blur添加到软件时,具体的步骤为:1. 在菜单栏和工具栏中添加Action;2. 建立Action对应的槽函数;3. 在槽函数中,图像以QPixmap格式加载,转换为QImage格式,再转换为OpenCV中的Mat格式,继而对Mat进行blur处理,最后将Mat转换为QImage再转换为QPix原创 2020-08-14 17:21:16 · 339 阅读 · 0 评论 -
Qt示例解析【多线程一waitconditions】
目的:了解QThread的wait 和 wakeAll信号机制代码位置:#include <QtCore>#include <stdio.h>#include <stdlib.h>//设置数据数量const int DataSize = 100000;//设置缓存数量const int BufferSize = 8192;char buffer[BufferSize];QWaitCondition bufferNotEmpty;//等待原创 2020-08-13 11:08:15 · 357 阅读 · 0 评论 -
Qt示例解析 【PieChartCustomization】
目的:学习饼图中的所有设置1. chart设置:主题,是否反走样,Animation,说明Legend是否显示 m_chartView->chart()->setTheme(QChart::ChartTheme theme); m_chartView->setRenderHint(QPainter::Antialiasing, m_aaCheckBox->isChecked()); if (m_animationsCheckBox->che原创 2020-08-12 14:08:01 · 350 阅读 · 0 评论 -
Qt示例解析 【图表应用四】下滑(Dirlldown)
目的:了解饼状图和柱形图的下滑交互。示例一【piechartdrilldown】效果:当鼠标放置在某个slice切片时,切片会移出。实现过程: 重写QPieSlice类,建立信号hovered和槽showhighlight的关联,并实现槽函数showhighlight。connect(this, &DrilldownSlice::hovered, this, &DrilldownSlice::showHighlight);void DrilldownSlice::原创 2020-08-12 13:23:50 · 283 阅读 · 0 评论 -
Qt示例解析 【图表应用三】交互
目的:了解Qt图表中可以做到哪些交互,方便我们做出高大上的项目示例一【chartinteractions】展示lineSeries上的点可以进行拖动,从而达到手动修改折线图表的目的实现方式:重写QChart类 和 QChartView类在main.cpp中关联QLineSeries中的Press信号和槽函数(chart类中的clickpoint)在chart中实现clickpoint槽函数,函数会根据press的位置匹配最近的点。在chartview中重写鼠标的点击,移动和释放事件原创 2020-08-12 11:18:41 · 672 阅读 · 0 评论 -
Qt示例解析 【图表应用二】Axis
目的:介绍Qt图表中一些特殊的轴,如时间轴DateTimeAxis,对数轴LogValue示例一【时间轴DateTimeAxis】QDateTimeAxis *axisX = new QDateTimeAxis;axisX->setTickCount(10);axisX->setFormat("MMM yyyy");axisX->setTitleText("Date");chart->addAxis(axisX, Qt::AlignBottom);series原创 2020-08-12 10:19:05 · 1489 阅读 · 0 评论 -
Qt示例解析 【图表应用一】Legend
目的:介绍Qt中图表可以达到的一些效果,可以把我们的项目做的高大上。此博文主要介绍图表说明Legend的一些设置,来源示例Legend和LegendMarker,位于\Examples\Qt-5.9.4\charts\Legend主要实现对图表说明的编辑,添加删除Bar,图表说明的位置,以及图表说明字体的设置LegendMarker主要实现图表说明与图表的对应关系,点击图表说明可以显示/隐藏相应的图表,上面图中隐藏了line1和line31. 放置位置附着图表 m_chart->原创 2020-08-11 19:00:12 · 4247 阅读 · 1 评论 -
Qt示例解析【Chart类型大合集】
目的:清晰的了解Qt中提供的图标样式,以及延伸出的图表样式。这样当我们需要创建图表时,可以清晰的知道如何创建,代码从哪里Copy,哈哈^_^.....1.【LineChart 线图表】该类图表QLineSeries通过添加一系列的节点构成一条折线。2.【AreaChart 面积图表】该类图表QAreaSeries主要由两个QLineSeries组成,可以设置面积图表的上线颜色、下线颜色和填充颜色。3.【SplineChart 样条线图表】该类图表QSpineSeries通过添原创 2020-08-11 15:21:42 · 1530 阅读 · 0 评论 -
Qt示例解析【DonutBreakdown】分离饼状图
目的:将饼状图分为三大类,每一类再细分为几类,显示两层信息的饼状图实现方法:通过重写QChart 和 QPieSlice两个类来实现MainSlice类:继承自QPieSlice主要添加了QPieSeries变量,设置name,并关联了percentage信号和updateLabel槽函数。DonutBreakdownChart类:继承自QChart主要实现了添加QPieSeries,计算各部分角度recalculateAngles 和更新饼状图updateLegendMarkers原创 2020-08-11 13:44:02 · 564 阅读 · 0 评论 -
Qt示例解析【DonutChart饼图】
目的:绘制饼图,如下图所示。代码:#include <QtWidgets/QApplication>#include <QtWidgets/QMainWindow>#include <QtCharts/QChartView>#include <QtCharts/QPieSeries>#include <QtCharts/QPieSlice>#include <QtCore/QDebug>QT_CHARTS_US原创 2020-08-11 11:17:39 · 538 阅读 · 0 评论 -
Qt示例解析 【Callout】
目的:从此示例中了解QChart中曲线的绘制方法 和 插图的生成方法。本博文主要侧重于插图的生成方法。本示例中有View和Callout两个类View类:继承自QGraphicsView添加两个曲线,series和series2,并各自关联了两个事件,鼠标的点击事件(对应KeepCallout)和悬停事件(对应tooltip)KeepCallout中将Callout图元添加到Scene(场景)中,代码实现如下m_callouts.append(m_tooltip);m_tooltip原创 2020-08-10 18:05:42 · 1415 阅读 · 0 评论 -
QGraphicsView 扩展:增加图元属性,鼠标移至图元时,显示属性信息
目标:创建一个显示图片的对话框,可以在图片上增加图元,如三角形、矩形等,当鼠标放置在该图元上时,显示图元的属性信息。过程:1. 重写图元类,增加记录/读取属性信息的接口。(示例,重写QGraphicsRectItem图元).h文件#ifndef QTHGRAPHICSRECTITEM_H#define QTHGRAPHICSRECTITEM_H#include <QGraphicsRectItem>class QthGraphicsRectItem : public原创 2020-08-10 15:35:37 · 961 阅读 · 0 评论 -
Qt 项目编写流程
仅以本博文记录Qt项目编写流程,防止每次新项目开始时的各种搜索。1. 新建项目常见的新建项目类型有Qt Widget Application(简单的项目,带对话框),Qt Console Application(简单的Qt测试项目),子目录项目(大型项目,建议GUI和算法分开)。子目录项目.pro文件格式TEMPLATE = subdirsSUBDIRS += \ GUI2. .pro文件中文乱码解决方法(.pro文件添加以下代码)QMAKE_CXXFLAGS原创 2020-08-07 18:01:30 · 1234 阅读 · 0 评论 -
Qt 从ftp上下载文件
.h文件#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QUrl>#include <QNetworkAccessManager>#include <QDebug>#include <QtCore>#include <QNetworkReply>namespace Ui{class MainWindow;}原创 2020-07-31 15:58:19 · 1265 阅读 · 0 评论