_S_Q
个人简介
展开
-
Qt5 C++ QMap使用总结
该函数会按照键的升序排列来收集所有的值。如果一个键关联了多个值(在某些特殊的多值映射场景下),那么这个键对应的所有值都会被包含在返回的列表中,而不仅仅是最近插入的那个值。类的一个成员函数,其作用是返回一个包含。函数(用于根据键获取对应的值)。此外,文档还提到了可以参考。原创 2025-03-05 10:14:57 · 517 阅读 · 0 评论 -
Qt C++ 调everything SDK代码分享
Everything是voidtools开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和目录(Locate files and folders by name instantly)”。它体积小巧,界面简洁易用,快速建立索引,快速搜索,同时占用极低的系统资源,实时跟踪文件变化,并且还可以通过http或ftp形式分享搜索。在搜索框输入文字,它就会只显示过滤后的文件和目录。Everything搜索只基于文件和文件夹的名称,所以它创建数据库很快。原创 2024-12-23 09:37:08 · 225 阅读 · 0 评论 -
QT使用RabbitMQ
rabbitmqctl list_users // 列出当前系统的用户rabbitmqctl list_user_permissions [ 用户名 ] // 查看用户权限rabbitmqctl delete_user [ 用户名 ] // 删除用户rabbitmqctl change_password [ 用户名 ] [ 密码 ] // 修改用户密码rabbitmq-plugins enable rabbitmq_management // 开启web远程管理界面。原创 2024-03-12 10:11:01 · 1077 阅读 · 0 评论 -
Qt之基于QCustomPlot绘制直方图(Histogram),叠加正态分布曲线
封装一个图表库(PlotViewCtrl),基于QCustomPlot。原创 2023-12-07 14:57:52 · 1416 阅读 · 0 评论 -
Qt 5 中的 QTextStream 使用指南
QTextStream 是 Qt 框架中用于处理文本数据的类。它提供了方便的接口来读写文本文件或字符串,支持多种编码格式,并且可以与 QIODevice 类(如 QFile、QTcpSocket 等)结合使用。本文将介绍如何在 Qt 5.15.2 中使用 QTextStream 进行基本的文件读写操作。原创 2024-12-02 09:30:12 · 724 阅读 · 0 评论 -
C++ STL 常见使用详解
容器(Containers):用来存储和管理数据的集合。迭代器(Iterators):用于遍历容器中的元素。算法(Algorithms):一组用于操作容器中数据的通用函数。函数对象(Function Objects):类似于函数的对象,用于自定义算法的行为。C++ 标准模板库(STL)提供了一套强大而灵活的工具,用于处理各种数据结构和算法。通过掌握 STL 中的容器、迭代器、算法和函数对象,开发者可以编写出高效且易于维护的 C++ 程序。希望本文对你理解和使用 STL 有所帮助。原创 2024-07-08 11:45:49 · 1139 阅读 · 0 评论 -
使用 FFmpeg 处理视频:简介、常用命令及在 C++ 中调用 FFmpeg
FFmpeg 是一个开源的跨平台音视频处理工具,它提供了丰富的功能和命令行工具,可以用于处理、转换和流处理各种音视频格式。本文将介绍 FFmpeg 的基本概念、常用命令及如何在 C++ 中调用 FFmpeg 处理视频。FFmpeg 是一个集成了音视频编解码库、格式转换库等多种库的跨平台开源项目。它提供了命令行工具和库文件,可以在不同的操作系统上进行音视频的采集、编码、解码、转码、流处理等操作。本文介绍了 FFmpeg 的基本概念、常用命令及如何在 C++ 中调用 FFmpeg 处理视频。原创 2024-07-08 15:32:44 · 1351 阅读 · 0 评论 -
Qt5.15 基于QTableView ,QItemDelegate自绘,实现一个树节点控件,支持打开关闭树节点
为了实现自定义的绘制和节点展开/折叠的功能,我们需要继承。原创 2024-10-10 18:26:17 · 336 阅读 · 0 评论 -
Qt C++,Link custom data to the QCustomPlot data
【代码】Qt C++,Link custom data to the QCustomPlot data。原创 2024-11-06 09:28:17 · 688 阅读 · 0 评论 -
Qt5.15 C++ 计算2个ip是否是同一网段
在网络通信中,判断两个 IP 地址是否属于同一网段通常涉及将 IP 地址与子网掩码进行“与”操作(bitwise AND),再比较结果是否相同。:将两个 IP 地址与同一子网掩码做按位与操作,得到的网络地址是该 IP 所在的网络。对两个 IP 地址进行此操作,如果结果相同,则说明它们属于同一网段。子网掩码也是一个 32 位的二进制数,用来指定哪些位用于网络标识,哪些位用于主机标识(例如。在这个例子中,这两个 IP 地址会被判断为同一网段,因为在按位与操作后,它们的网络地址都是。原创 2024-10-10 16:58:08 · 316 阅读 · 0 评论 -
C++, Qt 5.15, QCustomplot应用案例(一)
这个方案中,随着用户拖动X轴的范围,程序将自动从SQLite数据库中加载对应时间范围内的温度数据并在图表上显示。通过这种方式,数据可以实时显示,且避免了加载大量数据带来的性能问题。原创 2024-08-16 08:42:07 · 63 阅读 · 0 评论 -
在Ubuntu 18.04上编译Qt 4.8.7
注意:这些步骤提供了一个基本的编译过程,你可能需要根据你的具体需求调整配置选项。如果你的系统中已经有其他版本的Qt,你可能需要使用qmake的-qt-libdir和-qt-plugindir选项来指定安装路径。在Ubuntu 18.04上编译Qt 4.8.7,你需要安装必要的依赖并下载Qt 4.8.7的源代码。原创 2024-10-15 09:06:12 · 176 阅读 · 0 评论 -
QStandardItemModel 遍历
嵌套循环遍历模型的每个元素。递归遍历用于嵌套的树形数据结构。遍历使用索引访问每项的数据。原创 2024-11-04 10:15:28 · 236 阅读 · 0 评论 -
在 Ubuntu 18.04 上编译 Qt 5.6.3 仅限 LGPL 2.1 许可模块
通过上述步骤,你可以在 Ubuntu 18.04 上编译并安装 Qt 5.6.3 仅限 LGPL 2.1 许可模块。原创 2024-10-16 10:58:22 · 149 阅读 · 0 评论 -
查证 Qt 5.6.3 的哪些模块是基于 LGPL v2.1 许可
大部分 Qt 的核心模块(如 Qt Core、Qt GUI、Qt Widgets 等)都使用LGPL v2.1。新的模块和一些功能性模块(如 Qt WebEngine、Qt Charts 等)可能使用LGPL v3.0或商业许可。可以通过查看 Qt 源代码中的LICENSE文件,或者通过官方许可页面获取模块的具体许可类型。如果你需要只使用 LGPL v2.1 的模块,建议重点使用核心模块,并在配置编译时跳过那些不符合 LGPL v2.1 许可的模块。原创 2024-10-16 11:14:42 · 276 阅读 · 0 评论 -
Qt C++调 C++线性代数库Eigen
简而言之,这段代码创建了两个大小相同的向量,一个包含了等间距的数值,另一个初始化为空,并且都适合进行基于这两个向量的线性代数计算,如插值、回归等操作。Eigen是一个高效的矩阵和向量计算库,非常适合处理科学计算和数值分析任务。向量包含1000个等间距的元素,范围从-1到1(包括-1和1)。总结来说,这段代码是为了处理数据并准备将其展示在可视化环境中,如Qt应用中的图表上。定义了两个一维向量(VectorXd),它们都是Eigen库中的动态数组类型。向量的长度,即它所含元素的数量,这将用于后续的操作中。原创 2024-11-06 13:52:56 · 198 阅读 · 0 评论 -
Qt QCustomplot 在采集信号领域的应用
自然界中的物理过程、传感器和传感器网络、电路和电子设备、通信系统等都是模拟信号的来源。通过可视化模拟信号,可以帮助研究人员直观地观察信号的形态、幅度、频率、相位等特征。可视化使得信号的特征更加清晰明了,有助于研究人员理解信号的行为和性质。但是可以用于可视化绘制图表的开源库较多,通过比较常用开源库选择最适合项目需求的库,以实现高质量的数据可视化。原创 2024-11-06 09:02:59 · 196 阅读 · 0 评论 -
QCustomPlot添加自定义的图例,实现隐藏、删除功能(二)
要实现一个支持复选框来控制曲线显示和隐藏的自定义QCPLegend类,可以通过继承QCPLegend并重写绘制和事件处理方法来实现,同时发出信号通知曲线的状态变更。原创 2024-11-06 08:53:25 · 810 阅读 · 0 评论 -
QCustomPlot添加自定义的图例,实现隐藏、删除功能(一)
要实现一个支持勾选并可以控制曲线显示和隐藏的自定义QCPLegend类,可以通过继承QCPLegend并重写其相关方法来实现。我们需要添加一个自定义的复选框元素,并捕捉用户交互来实现曲线的隐藏和显示。原创 2024-11-05 13:32:49 · 977 阅读 · 0 评论 -
在Qt应用程序中集成版本信息:轻松提升用户体验
随着软件工程的不断发展,保持版本控制和提供清晰的用户反馈变得至关重要。在Qt应用中嵌入版本信息不仅能帮助开发者跟踪更改,也能增强用户的信任度。通过以上步骤,你就可以在Qt软件中有效地添加和管理版本信息了。记得定期更新版本并记录在你的 changelog 中,让用户和你自己都能清楚地看到每次改进。首先,你需要确定你的软件当前的版本号。例如,在命令行中,你可以使用。当需要向用户展示版本信息时,可以在界面上创建一个简单的文本框,或者在帮助菜单里设置。在Qt中,有多种方式可以存储和访问应用程序的配置信息,包括。原创 2024-10-22 18:14:38 · 232 阅读 · 0 评论 -
[教程][Ubuntu][Qt]将Qt程序打包成deb文件,发布、安装及使用
如果你是一名Qt开发者,并希望将你的应用程序打包成能在Ubuntu等基于Debian的Linux发行版上无缝分发和使用的包,那么理解如何创建和管理.deb格式的安装包至关重要。本文将详细介绍如何在Ubuntu系统中完成Qt程序的打包、发布以及用户的安装和使用。原创 2024-10-22 18:07:51 · 719 阅读 · 0 评论 -
Qt视频播放器(二)
ffmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换、多种码率转换等;结合FFmpeg进行视频播放的核心部分,并使用QML进行界面设计,您可以实现一个功能强大的视频播放器。以下是详细的实现步骤,包括FFmpeg与Qt的集成,以及QML界面的设计。ffmpeg即使一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口。创建一个新的Qt项目,并确保选择了Qt Quick应用程序类型。原创 2024-06-28 08:45:58 · 285 阅读 · 0 评论 -
Qt视频播放器(一)
使用Qt和QML来创建一个简单的播放器涉及到创建一个基本的Qt项目,添加QML文件,并将其与C++代码进行整合。以下是一个完整的示例,演示如何实现这个播放器。在Qt Creator中,点击“构建并运行”按钮来编译和运行项目。播放器窗口将会显示,您可以使用播放、暂停和停止按钮来控制视频的播放。通过这个简单的例子,您已经创建了一个基本的Qt QML播放器,能够加载和播放视频,并提供基本的控制功能。配置了项目的基本信息,确保项目链接了Qt的Quick和Multimedia模块。这是播放器的主要QML文件。原创 2024-06-28 08:43:11 · 113 阅读 · 0 评论 -
QObject: Cannot create children for a parent that is in a different thread
【代码】QObject: Cannot create children for a parent that is in a different thread。原创 2024-10-16 17:08:40 · 246 阅读 · 0 评论 -
VS2019 IDE,AddressSanitizer,检测C++代码内存问题
【代码】VS2019 IDE,AddressSanitizer,检测C++代码内存问题。原创 2024-10-16 17:07:08 · 394 阅读 · 0 评论 -
内存分配和释放操作符来增加内存申请和释放时的日志打印
如果想在 Qt 项目中使用类似的功能,并且希望通过宏更灵活地启用或禁用日志,可以创建一个简单的宏来进行内存分配和释放的调试。return ptr;return ptr;if(!return ptr;if(!return ptr;return ptr;if(!return ptr;if(!return ptr;原创 2024-10-16 16:35:32 · 79 阅读 · 0 评论 -
Ubuntu编译fftw3
编译 FFTW 3.3.10 需要以下几个步骤,包括安装依赖、下载源码、配置编译环境,并最终进行编译与安装。如果输出中有 FFTW 的共享库信息,则说明安装成功。Ubuntu 20 默认安装的 GCC 版本可能较低,因此需要手动安装。参数会根据系统 CPU 核心数量并行编译,提高编译速度。这样,编译其他依赖 FFTW 的项目时,以及编译 FFTW 所需的工具和库。你可以通过以下命令切换默认编译器为。从 FFTW 官方网站或使用。可以正确找到 FFTW 库。链接 FFTW 库,原创 2024-09-30 10:44:04 · 1192 阅读 · 0 评论 -
Qt QCustomPlot介绍
Qt QCustomPlot介绍。原创 2023-09-19 09:48:01 · 710 阅读 · 0 评论 -
C++ 11 智能指针使用详解
智能指针是一种类模板,它在指针的基础上添加了额外的功能,可以自动管理指针的生命周期和内存释放。和。智能指针是 C++ 11 提供的重要特性,它们通过提供自动化的资源管理和所有权管理,显著提高了代码的安全性和可维护性。本文介绍了和的基本概念、使用方法以及与传统指针的比较。希望通过本文的介绍,读者能够更好地理解和使用 C++ 11 中的智能指针。如有任何问题或建议,欢迎在评论区留言交流。原创 2024-07-08 15:27:45 · 553 阅读 · 0 评论 -
QChartView显示实时更新的温度曲线图(二)
Qt Charts 提供了一系列使用图表功能的简单方法。它使用Qt Graphics View Framework 图形视图框架,因此可以很容易集成到用户界面。可以使用Qt Charts作为QWidgets, QGraphicsWidget, 或者 QML类型。使用Qt Charts时:需要在.pro文件中添加 QT += charts。原创 2024-07-02 14:07:15 · 677 阅读 · 0 评论 -
MuseScore:开源音乐谱写软件详细介绍及源码解读(一)
MuseScore 是一个开源的跨平台音乐符号输入软件,支持 Windows、macOS 和 Linux 操作系统。它可以让用户创作、播放和打印乐谱,并且还支持导出 MIDI、MusicXML、PDF 等多种格式。MuseScore 具有直观的用户界面和强大的功能,是作曲家、编曲家和音乐教师的理想工具。多平台支持:支持 Windows、macOS 和 Linux。丰富的乐谱编辑功能:包括多声部、乐器音色、动态标记、力度标记等。导出和导入多种格式。原创 2024-07-04 08:46:44 · 657 阅读 · 0 评论 -
Qt 控件:QListView 使用详解
QListView 是 Qt 的视图类之一,专门用于展示列表数据。它与 QAbstractItemModel 及其子类(如 QStringListModel、QStandardItemModel)配合使用,可以方便地显示和管理数据。QListView 使用委托来绘制每一项的内容和处理编辑。我们可以通过继承 QStyledItemDelegate 来创建自定义委托。public:QListView 是 Qt 中一个功能强大的控件,用于展示和管理列表数据。原创 2024-07-08 11:42:18 · 1719 阅读 · 0 评论 -
Qt图形视图框架:QGraphicsView使用详解
QGraphicsView 是 Qt 图形视图框架中的一个核心组件,它与 QGraphicsScene 和 QGraphicsItem 一起协同工作。:场景类,管理所有的图形元素(QGraphicsItem)。:图形项类,表示具体的图形元素,可以是矩形、椭圆、线条、图片等。:视图类,用于在窗口中展示场景中的内容。通过这种分离模型,Qt 的图形视图框架实现了场景与视图的解耦,提供了灵活的图形展示和交互方式。我们可以通过继承 QGraphicsItem 类来创建自定义图形项。原创 2024-07-08 11:39:21 · 867 阅读 · 0 评论 -
C++/Qt 信号槽机制详解
在 Qt 中声明信号和槽非常简单。Q_OBJECTpublic:signals:除了使用 Qt 内置的信号和槽外,还可以自定义信号和槽。Qt 的信号和槽机制是一个强大且灵活的事件处理机制,广泛用于对象间通信。通过理解其基本概念、工作原理和高级应用,可以更好地利用 Qt 进行高效的应用程序开发。希望本文对你理解和使用 Qt 的信号和槽机制有所帮助。如果你有任何问题或建议,欢迎在评论区留言交流。原创 2024-07-08 13:58:41 · 521 阅读 · 0 评论 -
Qt Creator设置自动注释
在使用QT时候经常需要对代码进行注释,这个时候如果每次都是手打注释太慢了,可以利用QT设置注释模板,自动生成函数的注释。注释的原则是有助于对程序的阅读理解,不宜太多,也不能太少(一般情况下,源代码有效注释量必须在 20% 以上)。注释的风格可根据自己的喜好自定义,但必须准确、简洁、易懂。原创 2022-11-09 11:25:11 · 2805 阅读 · 0 评论 -
在 Windows 10 编译 Qt 5.15
下载地址:https://download.qt.io/development_releases/prebuilt/libclang/qt/安装 Windows SDK 10.0.18362 使用VS019即可自动安装该SDK。下载 安装 python-2.7.18.msi。安装位置 C:\Python27。安装位置:D:\GnuWin32。原创 2022-11-07 11:41:59 · 2008 阅读 · 0 评论 -
Qt5.15.7编译报错:clangcodeparser.obj : error LNK2019
当前是x64 找到对应的x64的libclang库去LINK。LINK到libclang库出现问题。原创 2022-11-07 15:18:06 · 405 阅读 · 0 评论 -
C#使用NPOI进行Excel和Word文件处理(二)
NPOI是一个.NET库,用于读取和写入Microsoft Office格式文件,包括Excel (.xls, .xlsx)和Word (.doc, .docx)。NPOI使开发者可以在不依赖于Office组件的情况下操作Office文件,非常适合在服务器端应用中使用。通过NPOI,你可以轻松地在C#中处理Excel和Word文件,无需依赖Office组件。本文提供的示例代码展示了如何读取和写入这些文件的基本操作。你可以根据自己的需求扩展这些示例,以实现更多功能。原创 2024-08-06 15:11:08 · 1044 阅读 · 0 评论 -
C#使用NPOI进行Excel和Word文件处理(一)
NPOI 是一个非常流行的用于在 .NET 环境中操作 Office 文件(包括 Excel 文件)的开源库。它的功能非常强大,但性能和文件大小问题可能因具体的使用情况和文件内容而有所不同。NPOI 是一个功能强大且广泛使用的库,适合处理大多数 Excel 操作任务。虽然生成的文件可能会稍大,但通过优化可以减少影响。性能通常是可以接受的,但对于非常大的数据集,可能需要进行一些优化。原创 2024-07-31 17:59:44 · 789 阅读 · 0 评论 -
Qt C++,QByteArray读取一个超过2GB的文件,写一类封装一下
类提供了类似QByteArray的接口,隐藏了文件分块处理的细节。调用者可以像使用QByteArray一样访问超过 2GB 的文件,而不用关心文件内部是如何按块读取和管理的。这种设计有效避免了内存限制问题,并且保持了接口的简洁性。原创 2024-09-18 17:12:34 · 243 阅读 · 0 评论