- 博客(157)
- 收藏
- 关注
原创 Qt C++ 调everything SDK代码分享
Everything是voidtools开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和目录(Locate files and folders by name instantly)”。它体积小巧,界面简洁易用,快速建立索引,快速搜索,同时占用极低的系统资源,实时跟踪文件变化,并且还可以通过http或ftp形式分享搜索。在搜索框输入文字,它就会只显示过滤后的文件和目录。Everything搜索只基于文件和文件夹的名称,所以它创建数据库很快。
2024-12-23 09:37:08
124
原创 Qt 5 中的 QTextStream 使用指南
QTextStream 是 Qt 框架中用于处理文本数据的类。它提供了方便的接口来读写文本文件或字符串,支持多种编码格式,并且可以与 QIODevice 类(如 QFile、QTcpSocket 等)结合使用。本文将介绍如何在 Qt 5.15.2 中使用 QTextStream 进行基本的文件读写操作。
2024-12-02 09:30:12
679
原创 Qt C++调 C++线性代数库Eigen
简而言之,这段代码创建了两个大小相同的向量,一个包含了等间距的数值,另一个初始化为空,并且都适合进行基于这两个向量的线性代数计算,如插值、回归等操作。Eigen是一个高效的矩阵和向量计算库,非常适合处理科学计算和数值分析任务。向量包含1000个等间距的元素,范围从-1到1(包括-1和1)。总结来说,这段代码是为了处理数据并准备将其展示在可视化环境中,如Qt应用中的图表上。定义了两个一维向量(VectorXd),它们都是Eigen库中的动态数组类型。向量的长度,即它所含元素的数量,这将用于后续的操作中。
2024-11-06 13:52:56
155
原创 Qt C++,Link custom data to the QCustomPlot data
【代码】Qt C++,Link custom data to the QCustomPlot data。
2024-11-06 09:28:17
677
原创 Qt QCustomplot 在采集信号领域的应用
自然界中的物理过程、传感器和传感器网络、电路和电子设备、通信系统等都是模拟信号的来源。通过可视化模拟信号,可以帮助研究人员直观地观察信号的形态、幅度、频率、相位等特征。可视化使得信号的特征更加清晰明了,有助于研究人员理解信号的行为和性质。但是可以用于可视化绘制图表的开源库较多,通过比较常用开源库选择最适合项目需求的库,以实现高质量的数据可视化。
2024-11-06 09:02:59
173
原创 QCustomPlot添加自定义的图例,实现隐藏、删除功能(二)
要实现一个支持复选框来控制曲线显示和隐藏的自定义QCPLegend类,可以通过继承QCPLegend并重写绘制和事件处理方法来实现,同时发出信号通知曲线的状态变更。
2024-11-06 08:53:25
660
原创 QCustomPlot添加自定义的图例,实现隐藏、删除功能(一)
要实现一个支持勾选并可以控制曲线显示和隐藏的自定义QCPLegend类,可以通过继承QCPLegend并重写其相关方法来实现。我们需要添加一个自定义的复选框元素,并捕捉用户交互来实现曲线的隐藏和显示。
2024-11-05 13:32:49
830
原创 在Qt应用程序中集成版本信息:轻松提升用户体验
随着软件工程的不断发展,保持版本控制和提供清晰的用户反馈变得至关重要。在Qt应用中嵌入版本信息不仅能帮助开发者跟踪更改,也能增强用户的信任度。通过以上步骤,你就可以在Qt软件中有效地添加和管理版本信息了。记得定期更新版本并记录在你的 changelog 中,让用户和你自己都能清楚地看到每次改进。首先,你需要确定你的软件当前的版本号。例如,在命令行中,你可以使用。当需要向用户展示版本信息时,可以在界面上创建一个简单的文本框,或者在帮助菜单里设置。在Qt中,有多种方式可以存储和访问应用程序的配置信息,包括。
2024-10-22 18:14:38
199
原创 [教程][Ubuntu][Qt]将Qt程序打包成deb文件,发布、安装及使用
如果你是一名Qt开发者,并希望将你的应用程序打包成能在Ubuntu等基于Debian的Linux发行版上无缝分发和使用的包,那么理解如何创建和管理.deb格式的安装包至关重要。本文将详细介绍如何在Ubuntu系统中完成Qt程序的打包、发布以及用户的安装和使用。
2024-10-22 18:07:51
604
原创 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
163
原创 VS2019 IDE,AddressSanitizer,检测C++代码内存问题
【代码】VS2019 IDE,AddressSanitizer,检测C++代码内存问题。
2024-10-16 17:07:08
329
原创 内存分配和释放操作符来增加内存申请和释放时的日志打印
如果想在 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
66
原创 查证 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
225
原创 在 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
118
原创 在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
157
原创 Qt5.15 基于QTableView ,QItemDelegate自绘,实现一个树节点控件,支持打开关闭树节点
为了实现自定义的绘制和节点展开/折叠的功能,我们需要继承。
2024-10-10 18:26:17
324
原创 Qt5.15 C++ 计算2个ip是否是同一网段
在网络通信中,判断两个 IP 地址是否属于同一网段通常涉及将 IP 地址与子网掩码进行“与”操作(bitwise AND),再比较结果是否相同。:将两个 IP 地址与同一子网掩码做按位与操作,得到的网络地址是该 IP 所在的网络。对两个 IP 地址进行此操作,如果结果相同,则说明它们属于同一网段。子网掩码也是一个 32 位的二进制数,用来指定哪些位用于网络标识,哪些位用于主机标识(例如。在这个例子中,这两个 IP 地址会被判断为同一网段,因为在按位与操作后,它们的网络地址都是。
2024-10-10 16:58:08
299
原创 Ubuntu编译fftw3
编译 FFTW 3.3.10 需要以下几个步骤,包括安装依赖、下载源码、配置编译环境,并最终进行编译与安装。如果输出中有 FFTW 的共享库信息,则说明安装成功。Ubuntu 20 默认安装的 GCC 版本可能较低,因此需要手动安装。参数会根据系统 CPU 核心数量并行编译,提高编译速度。这样,编译其他依赖 FFTW 的项目时,以及编译 FFTW 所需的工具和库。你可以通过以下命令切换默认编译器为。从 FFTW 官方网站或使用。可以正确找到 FFTW 库。链接 FFTW 库,
2024-09-30 10:44:04
1042
原创 在 Linux 中,要让某一个线程或进程排他性地独占一个 CPU
为了隔离某个 CPU,不让中断占用这个 CPU,可以通过如下步骤手动将中断绑定到其他 CPU。通过这些配置,可以在 Linux 系统中实现一个线程排他性独占 CPU,避免几乎所有其他任务和中断的干扰,从而达到最低的延迟抖动。为此,Linux 提供了将中断绑定到特定 CPU 的能力,避免中断影响线程独占的 CPU 核。CPU 亲和性是指将一个线程绑定到特定的 CPU 核上运行,从而避免线程在多个 CPU 上调度引起的上下文切换。,使得空闲 CPU 不产生定时器中断,从而在任务独占的情况下减少中断。
2024-09-30 10:14:19
569
原创 C++实现一个简单的String类
拷贝构造函数是C++中的一种特殊构造函数,用于通过已有的对象来初始化新创建的对象。对于内部有资源的类,比如智能指针、在栈上的内存、文件、网络端口、寄存器等,合适的移动构造函数更加高效甚至是必须的。创建类的对象的时候,编译系统需要对象分配内存空间,完成数据成员的初始化工作并请求其他资源,此时,编译系统自动调用构造函数来完成这些工作。在对象被销毁时,系统会自动调用一次的特殊的成员函数,主要是用于释放资源、释放内存的清理工作。因此,构造函数是在创建类的对象时使用,它的核心作用是初始化对象的数据成员和分配内存。
2024-09-24 17:51:37
114
原创 Qt C++,QByteArray读取一个超过2GB的文件,写一类封装一下
类提供了类似QByteArray的接口,隐藏了文件分块处理的细节。调用者可以像使用QByteArray一样访问超过 2GB 的文件,而不用关心文件内部是如何按块读取和管理的。这种设计有效避免了内存限制问题,并且保持了接口的简洁性。
2024-09-18 17:12:34
226
原创 Qt C++ Udp相关知识学习(一)
(UDP Broadcast)是通过用户数据报协议(UDP)将消息发送到网络中所有设备的一种通信方式。假设你有一台设备 A 发送消息到另一台设备 B,设备 A 的应用程序通过 UDP 协议直接将消息发送到设备 B 的 IP 地址(例如。)是指使用用户数据报协议(UDP)通过网络发送消息的过程,消息的接收者是单个特定的目标设备或IP地址。),局域网中的所有设备都会接收到这个消息,而不需要设备 A 逐一发送给每个设备。如果设备 A 使用 UDP 广播消息,它可以将消息发送到局域网的广播地址(如。
2024-09-09 15:23:21
433
原创 gitlab 启动/关闭/启用开机启动/禁用开机启动
Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。
2024-09-07 11:08:39
1073
1
原创 python 错误合集:from skimage import data ModuleNotFoundError: No module named ‘skimage‘ 等
这个错误提示表明你的 Python 环境中没有安装。如果你使用的是 Anaconda 环境,建议用。安装完成后,你可以通过运行以下代码来验证。你可以用以下命令检查 Python 和。是一个用于图像处理的库,其中包含了。在命令行或终端中运行以下命令来安装。你可以通过以下步骤安装。
2024-09-06 17:10:58
247
原创 在 Jenkins 上通过 SSH 控制 Windows 目标计算机时,出现中文乱码
通过调整 Windows 终端的字符编码、修改 Jenkins 配置,以及确保 SSH 客户端和服务器的编码一致,可以有效解决 Jenkins 远程执行。如果希望永久设置 Windows 的字符编码,可以通过以下步骤修改注册表,但需要注意可能会影响其他应用程序的表现。Windows 默认的命令行字符编码可能不是 UTF-8,这可能导致中文字符在远程执行命令时无法正确显示。在 Jenkins 中,确保编码设置为 UTF-8,以避免字符集的混乱。这会将当前终端的编码更改为 UTF-8,以支持中文字符。
2024-09-06 15:07:24
532
原创 在 Ubuntu 上安装 Jenkins,并配置 SSH Server 插件
登录 Jenkins 后,点击左侧菜单中的 “Manage Jenkins” > “Manage Plugins”,然后选择 “Available” 选项卡。插件安装完成后,回到 “Manage Jenkins” 菜单,点击 “Configure System”。通过上述步骤,你可以在 Ubuntu 上成功安装并使用 Jenkins,并配置 SSH Server 插件来实现远程部署,结合 Nginx 实现反向代理、负载均衡和 HTTPS。在弹出的 SSH 配置框中,选择之前配置好的 SSH Server。
2024-09-05 17:02:25
579
原创 Ubuntu 20 上安装 GitLab,配置 HTTPS,使用 DevOps
通过以上步骤,你已经在 Ubuntu 20 上成功安装并配置了 GitLab,开启了容器镜像库功能,并利用 GitLab CI/CD 实现了将 Java 服务自动编译和部署到 CentOS 7 服务器。本文将介绍如何在 Ubuntu 20 上安装 GitLab,配置 HTTPS,开启容器镜像库,并使用 GitLab CI/CD 自动编译和部署 Java 服务到本地 CentOS 7 服务器(IP: 10.0.1.100)。确保 GitLab 服务器可以通过 SSH 访问 CentOS 7 服务器。
2024-09-05 11:05:42
415
原创 Java中的String与StringBuilder详解
通过本篇博客,我们深入探讨了Java中的String和类的特性和用法。了解它们之间的区别和各自的适用场景,可以帮助我们在实际开发中做出更明智的选择,编写更高效的代码。如果你有任何问题或对本篇博客有任何建议,欢迎在评论区交流!
2024-09-02 10:36:05
427
原创 Java面向对象编程——新手必看
通过上述示例,我们可以看到面向对象编程如何通过继承和多态来简化代码结构、提高代码复用性。在实际开发中,理解和应用这些概念将有助于编写更加模块化和可维护的Java代码。希望通过本篇博客,你能够对Java的面向对象编程有一个清晰的理解。如果你有任何问题或建议,欢迎在评论区留言!
2024-09-02 10:33:03
639
原创 恒电流间歇滴定法 (GITT) 测试教程
恒电流间歇滴定法(GITT)是一种强大的工具,能够详细分析电池材料的电化学行为。通过 GITT 测试,我们可以获得电池的扩散系数、电荷传输阻抗等重要参数,从而帮助优化电池材料的性能。在电池研发和材料科学研究中,GITT 测试提供了宝贵的数据支持,帮助研究人员深入理解电池的工作机制并改进电池设计。希望本篇博客对你了解 GITT 测试有所帮助。如果你有任何问题或需要进一步讨论,欢迎在评论区留言!
2024-08-28 08:56:19
3541
原创 如何使用 Qt C++ 基于 FFmpeg 开发本地视频播放器
在本篇博客中,我们将探讨如何使用 Qt C++ 和 FFmpeg 库来开发一个简单的本地视频播放器。通过将两者结合,我们可以创建一个功能强大的视频播放器。这个播放器利用 FFmpeg 强大的解码功能,支持多种视频格式,并且通过 Qt 的图形界面展示解码后的视频帧。接下来,我们将在 Qt Creator 中创建一个新的 Qt Widgets Application 项目,命名为。确保项目配置正确,选择 Qt 5.x 版本,并创建一个空白的窗口。将下载的文件解压,并将。中,我们创建一个主窗口,包含。
2024-08-28 08:53:21
537
原创 C++, Qt 5.15, QCustomplot应用案例(一)
这个方案中,随着用户拖动X轴的范围,程序将自动从SQLite数据库中加载对应时间范围内的温度数据并在图表上显示。通过这种方式,数据可以实时显示,且避免了加载大量数据带来的性能问题。
2024-08-16 08:42:07
51
原创 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
982
原创 C#使用NPOI进行Excel和Word文件处理(一)
NPOI 是一个非常流行的用于在 .NET 环境中操作 Office 文件(包括 Excel 文件)的开源库。它的功能非常强大,但性能和文件大小问题可能因具体的使用情况和文件内容而有所不同。NPOI 是一个功能强大且广泛使用的库,适合处理大多数 Excel 操作任务。虽然生成的文件可能会稍大,但通过优化可以减少影响。性能通常是可以接受的,但对于非常大的数据集,可能需要进行一些优化。
2024-07-31 17:59:44
757
原创 Qt 控件详解:QTreeView 使用指南
虽然 QStandardItemModel 非常方便,但在一些复杂的情况下,我们可能需要自定义数据模型。我们可以通过继承 QAbstractItemModel 来实现自定义数据模型。Q_OBJECTpublic:// 必须实现的方法private:// 用于存储数据的结构// 填充示例数据// 递归删除树节点if (!// 填充示例数据 TreeNode * child1 = new TreeNode {
2024-07-26 18:25:06
584
原创 Linux进程间通信
进程间通信是现代操作系统中非常重要的功能,通过不同的通信手段,进程可以共享数据、协调操作、提高效率。本文介绍了几种常见的IPC手段,并提供了管道和共享内存的代码示例。在实际应用中,选择合适的通信手段可以有效提高系统的性能和可靠性。
2024-07-15 09:33:41
750
原创 在Qt C++项目中调用7z API实现压缩和解压
通过以上步骤,我们在Qt C++项目中集成了7z库,并实现了基本的压缩和解压功能。尽管这只是一个简单的示例,实际项目中可能需要根据具体需求进行更多的定制和优化。希望这篇博客能够帮助你更好地理解如何在Qt中使用7z API进行文件压缩和解压操作。7z(7-Zip)是一款开源的文件压缩软件,它提供了强大的压缩算法和API。本文将介绍如何在Qt C++项目中使用7z API实现文件的压缩和解压功能。从7-Zip的源码包中提取所需的库文件。7z源码通常包含在一个文件夹中,例如。将7z源码中的头文件复制到项目的。
2024-07-12 10:01:59
861
原创 使用公网服务器作为跳板的SSH隧道:常见应用场景
SSH隧道是一种通过SSH协议传输数据的技术,能够在两台计算机之间创建一个加密通道。这个通道可以用于转发TCP连接,从而使得本地和远程的服务能够通过安全的方式进行通信。使用公网服务器作为跳板来设置SSH隧道是一种强大的技术,可以增强安全性、穿透防火墙,并集中管理远程连接。无论是远程桌面访问、内网服务访问还是安全文件传输,SSH隧道都提供了一种灵活且安全的解决方案。通过掌握这些技术,你可以大大提升网络管理和远程访问的效率和安全性。
2024-07-10 13:43:57
549
mysql 8.0.30
2024-11-14
TortoiseSVN-1.14.7.29687-x64-svn-1.14.3.msi
2024-07-24
TortoiseGit-2.16.0.0-64bit
2024-07-24
FFmpeg使用手册.zip
2023-08-21
EasyPR-1.6.zip
2023-08-17
opencv-3.2.0-vc14.zip
2023-08-17
gecco 易用的网络爬虫
2023-07-28
webmagic 爬虫框架
2023-07-28
QCustomPlot
2023-07-28
qt telnet 源码 v2.1
2023-07-28
qcustomplot.h
2023-07-28
qcustomplot.cpp
2023-07-28
Genymotion Android 模拟器
2023-07-20
Clementine 音乐播放器
2023-07-20
vnote Markdown
2023-02-21
Anaconda3-2021.11-Windows-x86-64.exe
2022-11-22
7z2107-x64.zip 7z 压缩工具
2022-11-22
Qt,C++,QCustomPlot加载大量数据点时,界面卡顿解决方法?
2023-09-25
Qt C++,QTreeView加载大量数据时界面卡顿怎么办?
2023-09-25
Qt C++,QTreeView加载大量数据时界面卡顿怎么办?
2023-09-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人