_S_Q
个人简介
展开
-
C++实现一个简单的String类
拷贝构造函数是C++中的一种特殊构造函数,用于通过已有的对象来初始化新创建的对象。对于内部有资源的类,比如智能指针、在栈上的内存、文件、网络端口、寄存器等,合适的移动构造函数更加高效甚至是必须的。创建类的对象的时候,编译系统需要对象分配内存空间,完成数据成员的初始化工作并请求其他资源,此时,编译系统自动调用构造函数来完成这些工作。在对象被销毁时,系统会自动调用一次的特殊的成员函数,主要是用于释放资源、释放内存的清理工作。因此,构造函数是在创建类的对象时使用,它的核心作用是初始化对象的数据成员和分配内存。原创 2024-09-24 17:51:37 · 62 阅读 · 0 评论 -
Qt C++,QByteArray读取一个超过2GB的文件,写一类封装一下
类提供了类似QByteArray的接口,隐藏了文件分块处理的细节。调用者可以像使用QByteArray一样访问超过 2GB 的文件,而不用关心文件内部是如何按块读取和管理的。这种设计有效避免了内存限制问题,并且保持了接口的简洁性。原创 2024-09-18 17:12:34 · 151 阅读 · 0 评论 -
Qt C++ Udp相关知识学习(一)
(UDP Broadcast)是通过用户数据报协议(UDP)将消息发送到网络中所有设备的一种通信方式。假设你有一台设备 A 发送消息到另一台设备 B,设备 A 的应用程序通过 UDP 协议直接将消息发送到设备 B 的 IP 地址(例如。)是指使用用户数据报协议(UDP)通过网络发送消息的过程,消息的接收者是单个特定的目标设备或IP地址。),局域网中的所有设备都会接收到这个消息,而不需要设备 A 逐一发送给每个设备。如果设备 A 使用 UDP 广播消息,它可以将消息发送到局域网的广播地址(如。原创 2024-09-09 15:23:21 · 380 阅读 · 0 评论 -
gitlab 启动/关闭/启用开机启动/禁用开机启动
Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。原创 2024-09-07 11:08:39 · 430 阅读 · 1 评论 -
Chromium和cef的区别和联系
Chromium是一个由Google主导开发的网页浏览器。以BSD许可证等多重自由版权发行并开放源代码。Chromium的开发可能早自2006年即开始,设计思想基于简单、高速、稳定、安全等理念,在架构上使用了Apple发展出来的WebKit排版引擎、Safari的部份源代码与Firefox的成果,并采用Google独家开发出的V8引擎,以提升解译JavaScript的效率,而且设计了“沙盒”、“黑名单”、“无痕浏览”等功能,来实现稳定与安全的网页浏览环境。原创 2022-11-07 11:50:19 · 737 阅读 · 0 评论 -
C#使用NPOI进行Excel和Word文件处理(一)
NPOI 是一个非常流行的用于在 .NET 环境中操作 Office 文件(包括 Excel 文件)的开源库。它的功能非常强大,但性能和文件大小问题可能因具体的使用情况和文件内容而有所不同。NPOI 是一个功能强大且广泛使用的库,适合处理大多数 Excel 操作任务。虽然生成的文件可能会稍大,但通过优化可以减少影响。性能通常是可以接受的,但对于非常大的数据集,可能需要进行一些优化。原创 2024-07-31 17:59:44 · 611 阅读 · 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 · 703 阅读 · 0 评论 -
如何使用 Qt C++ 基于 FFmpeg 开发本地视频播放器
在本篇博客中,我们将探讨如何使用 Qt C++ 和 FFmpeg 库来开发一个简单的本地视频播放器。通过将两者结合,我们可以创建一个功能强大的视频播放器。这个播放器利用 FFmpeg 强大的解码功能,支持多种视频格式,并且通过 Qt 的图形界面展示解码后的视频帧。接下来,我们将在 Qt Creator 中创建一个新的 Qt Widgets Application 项目,命名为。确保项目配置正确,选择 Qt 5.x 版本,并创建一个空白的窗口。将下载的文件解压,并将。中,我们创建一个主窗口,包含。原创 2024-08-28 08:53:21 · 344 阅读 · 0 评论 -
Keysight Connection Expert 万用表扫描例子程序
这些示例程序展示了如何使用现代化的行业标准 API 来控制测试和测量设备的基础知识。您一旦掌握了这些基础知识,就可以使用 Command Expert 软件来加速仪器编程。该软件是是德科技的一款免费工具,可用于交互地查找和试用仪器命令。原创 2023-11-16 16:04:32 · 274 阅读 · 0 评论 -
Qt 控件详解:QTreeView 使用指南
虽然 QStandardItemModel 非常方便,但在一些复杂的情况下,我们可能需要自定义数据模型。我们可以通过继承 QAbstractItemModel 来实现自定义数据模型。Q_OBJECTpublic:// 必须实现的方法private:// 用于存储数据的结构// 填充示例数据// 递归删除树节点if (!// 填充示例数据 TreeNode * child1 = new TreeNode {原创 2024-07-26 18:25:06 · 331 阅读 · 0 评论 -
在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 · 616 阅读 · 0 评论 -
基于 Qt、FFmpeg 和 OpenGL 开发跨平台安卓实时投屏软件 QtScrcpy
QtScrcpy 是一个基于 Qt、FFmpeg 和 OpenGL 的开源项目,旨在实现安卓设备的实时投屏功能。它允许用户通过 USB 连接将安卓设备的屏幕内容实时显示在电脑上,并支持对设备进行控制操作,如点击、滑动等。本文将介绍 QtScrcpy 的项目背景、功能特点以及关键代码解读。}");类继承自,并且使用提供的 OpenGL 函数。在构造函数中初始化 FFmpeg 的注册和网络模块初始化。play。原创 2024-07-08 15:39:04 · 828 阅读 · 0 评论 -
C++/Qt 信号槽机制详解
在 Qt 中声明信号和槽非常简单。Q_OBJECTpublic:signals:除了使用 Qt 内置的信号和槽外,还可以自定义信号和槽。Qt 的信号和槽机制是一个强大且灵活的事件处理机制,广泛用于对象间通信。通过理解其基本概念、工作原理和高级应用,可以更好地利用 Qt 进行高效的应用程序开发。希望本文对你理解和使用 Qt 的信号和槽机制有所帮助。如果你有任何问题或建议,欢迎在评论区留言交流。原创 2024-07-08 13:58:41 · 372 阅读 · 0 评论 -
Qt QCustomPlot 图形库详解及使用
QCustomPlot 是一个开源的 Qt C++ 库,专门用于创建数据图表。易于集成到 Qt 项目中。支持多种图表类型,如折线图、散点图、条形图等。提供丰富的交互功能,如缩放、平移、选择和拖动。高度可定制,支持图形的各种样式设置。// 添加第一条曲线i < 101;++i) {// 设置曲线颜色// 添加第二条曲线i < 101;++i) {// 设置曲线颜色// 设置散点样式// 添加图例。原创 2024-07-08 13:40:55 · 150 阅读 · 0 评论 -
Qt QChart 图表库详解及使用
Qt Charts 是 Qt 提供的一个附加模块,用于创建和管理各种类型的图表。丰富的图表类型:折线图、柱状图、饼图、散点图等。高度可定制的样式和布局。支持多轴绘图和实时更新。提供交互功能,如缩放、平移和选择。// 创建第一条折线图数据系列// 创建第二条折线图数据系列// 创建图表对象// 自定义坐标轴// 显示图例// 创建图表视图Qt Charts 是一个功能强大的图表库,适用于各种数据可视化需求。原创 2024-07-08 13:43:16 · 446 阅读 · 0 评论 -
Qt Qwt 图表库详解及使用
Qwt 提供了一套用于绘制二维图表的控件,包括曲线图、散点图、柱状图、饼图等。它还提供了一些用于显示和交互的数据控件,如滑块、旋钮和刻度尺。丰富的图表类型支持实时数据更新高度可定制的样式和布局强大的交互功能// 创建第一条折线图数据// 设置曲线颜色// 创建第二条折线图数据// 设置曲线颜色// 添加图例// 设置坐标轴标签Qwt 是一个功能强大的图表库,适用于各种技术应用。原创 2024-07-08 13:45:50 · 440 阅读 · 0 评论 -
使用 Qt 和 ECharts 进行数据可视化
本文介绍了如何在 Qt 应用中使用 ECharts 进行数据可视化,并展示了折线图、散点图和柱状图的示例。通过将 ECharts 与 Qt 集成,可以轻松创建高质量的交互式图表,为用户提供直观的数据展示和分析工具。希望本文对你理解和使用 Qt 和 ECharts 进行数据可视化有所帮助。如果你有任何问题或建议,欢迎在评论区留言交流。原创 2024-07-08 13:49:54 · 755 阅读 · 0 评论 -
Qt QSettings 使用详解:跨平台的配置管理
QSettings 提供了一种跨平台的方式来存储和检索应用程序的设置。这些设置可以存储在不同类型的存储后端,如 INI 文件、注册表(Windows)或特定目录下的配置文件(Unix 类系统)。QSettings 是 Qt 提供的一个强大而灵活的配置管理类,能够在不同平台上统一管理应用程序设置。无论是在 Windows 上使用注册表,还是在 Linux 和 macOS 上使用配置文件,QSettings 都提供了简洁一致的接口,使得跨平台开发更加便利。原创 2024-07-08 13:35:11 · 243 阅读 · 0 评论 -
Qt:Meta-Object System 详解
Meta-Object System 是 Qt 提供的一种机制,用于在运行时提供关于对象的元信息。QObject 基类:所有使用 Meta-Object System 的类都必须继承自 QObject。Q_OBJECT 宏:类定义中使用该宏,以启用 Meta-Object System 的功能。信号与槽机制:用于对象间通信的机制。元属性(Meta-Property):允许在运行时查询和修改对象属性。元方法(Meta-Method):允许在运行时查询和调用对象的方法。在类定义中使用。原创 2024-07-08 11:56:56 · 120 阅读 · 0 评论 -
Qt 控件:QListView 使用详解
QListView 是 Qt 的视图类之一,专门用于展示列表数据。它与 QAbstractItemModel 及其子类(如 QStringListModel、QStandardItemModel)配合使用,可以方便地显示和管理数据。QListView 使用委托来绘制每一项的内容和处理编辑。我们可以通过继承 QStyledItemDelegate 来创建自定义委托。public:QListView 是 Qt 中一个功能强大的控件,用于展示和管理列表数据。原创 2024-07-08 11:42:18 · 1101 阅读 · 0 评论 -
Qt图形视图框架:QGraphicsView使用详解
QGraphicsView 是 Qt 图形视图框架中的一个核心组件,它与 QGraphicsScene 和 QGraphicsItem 一起协同工作。:场景类,管理所有的图形元素(QGraphicsItem)。:图形项类,表示具体的图形元素,可以是矩形、椭圆、线条、图片等。:视图类,用于在窗口中展示场景中的内容。通过这种分离模型,Qt 的图形视图框架实现了场景与视图的解耦,提供了灵活的图形展示和交互方式。我们可以通过继承 QGraphicsItem 类来创建自定义图形项。原创 2024-07-08 11:39:21 · 612 阅读 · 0 评论 -
MuseScore:开源音乐谱写软件详细介绍及源码解读(一)
MuseScore 是一个开源的跨平台音乐符号输入软件,支持 Windows、macOS 和 Linux 操作系统。它可以让用户创作、播放和打印乐谱,并且还支持导出 MIDI、MusicXML、PDF 等多种格式。MuseScore 具有直观的用户界面和强大的功能,是作曲家、编曲家和音乐教师的理想工具。多平台支持:支持 Windows、macOS 和 Linux。丰富的乐谱编辑功能:包括多声部、乐器音色、动态标记、力度标记等。导出和导入多种格式。原创 2024-07-04 08:46:44 · 166 阅读 · 0 评论 -
C/C++常见面试知识点总结
一个由 C/C++编译的程序占用的内存(memory)分为以下几个部分:程序代码区(.text)、文字常量区(.rodata)、全局区/静态区(static)、堆区(heap)、栈区(stack)原创 2023-08-17 16:36:55 · 48 阅读 · 0 评论 -
使用Qt Installer Framework在centos7中打包
通过以上步骤,您可以在CentOS 7中使用Qt Installer Framework来打包应用程序。安装Qt和Qt Installer Framework。创建项目目录结构,包括配置文件和包信息。编写安装脚本来指定安装操作。运行命令生成安装程序。这样,您就可以创建一个完整的安装程序,供用户在他们的系统上安装您的应用程序。原创 2024-07-01 09:13:25 · 218 阅读 · 0 评论 -
如何在本地服务器部署TeslaMate
我们这里只是在Linux虚拟机上本地部署,局域网查看,不支持外网访问。注意首次搭建是没有数据的,需要你开车出去兜兜风再看。具体操作参考该项目的README即可。原创 2024-04-20 20:26:19 · 776 阅读 · 0 评论 -
Wireshark抓包常用指令
addr,即包含src 也包含 dst进一步过滤,tcp协议包,这里len == 24表示,表示TCP负载长度24,这个通常很有用udp抓包案例分析640 = 632 + 82.UDP报文结构这里讲一下关键的点前面几个图可以看到Checksum,校验和。TCP的数据包的校验和计算的数据来源包括三部分:TCP伪首部和TCP首部和TCP数据。TCP计算校验和引入了伪首部,包括后面介绍的UDP。如下图所示,TCP伪首部包括:源地址(32 bit),目标地址(32 bit),Zero原创 2024-06-20 16:21:13 · 1192 阅读 · 0 评论 -
win powershell简单使用,问题记录
Restricted: 默认策略,不允许任何脚本运行。AllSigned: 允许运行签名的脚本。: 允许本地脚本运行,远程脚本需要签名。: 允许任何脚本运行,但在运行远程脚本时会有提示。原创 2024-06-28 11:46:44 · 498 阅读 · 0 评论 -
windwos 文件权限查看
在Windows操作系统中,使用安全描述符定义语言(SDDL)可以描述文件和目录的安全描述符。通过上述步骤,您可以在Windows上使用Qt C++编写一个函数来读取文件的SDDL字符串。利用Windows API函数,可以获取文件的安全描述符,并将其转换为SDDL字符串,以便在Qt应用程序中展示。首先,我们需要使用Windows API来读取文件的SDDL字符串,并在Qt应用程序中展示结果。以下是如何在Windows上使用Qt C++读取文件的SDDL字符串的详细步骤。原创 2024-06-28 13:43:34 · 107 阅读 · 0 评论 -
Qt 文件名称处理工具类
创建一个文件名称处理工具类,可以帮助处理文件路径、扩展名、文件名等操作。以下是一个详细的Qt C++文件名称处理工具类的示例代码及其说明。原创 2024-04-08 08:53:15 · 39 阅读 · 0 评论 -
Qt视频播放器(二)
ffmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换、多种码率转换等;结合FFmpeg进行视频播放的核心部分,并使用QML进行界面设计,您可以实现一个功能强大的视频播放器。以下是详细的实现步骤,包括FFmpeg与Qt的集成,以及QML界面的设计。ffmpeg即使一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口。创建一个新的Qt项目,并确保选择了Qt Quick应用程序类型。原创 2024-06-28 08:45:58 · 244 阅读 · 0 评论 -
Qt视频播放器(一)
使用Qt和QML来创建一个简单的播放器涉及到创建一个基本的Qt项目,添加QML文件,并将其与C++代码进行整合。以下是一个完整的示例,演示如何实现这个播放器。在Qt Creator中,点击“构建并运行”按钮来编译和运行项目。播放器窗口将会显示,您可以使用播放、暂停和停止按钮来控制视频的播放。通过这个简单的例子,您已经创建了一个基本的Qt QML播放器,能够加载和播放视频,并提供基本的控制功能。配置了项目的基本信息,确保项目链接了Qt的Quick和Multimedia模块。这是播放器的主要QML文件。原创 2024-06-28 08:43:11 · 83 阅读 · 0 评论 -
Qt C++调用libssh2实现sftp传输文件,界面部分采用QML
以上代码实现了一个简单的Qt QML应用原创 2024-06-26 11:48:45 · 352 阅读 · 0 评论 -
QT QML使用RabbitMQ
以上代码实现了一个简单的Qt QML应用,可以连接RabbitMQ服务器,发送和接收消息。用户可以在QML界面中输入消息并发送,点击按钮开始接收消息,并将接收到的消息显示在列表中。类使用库与RabbitMQ服务器通信。将RabbitMQClient类注册到QML中,以便在QML中调用其方法。QML界面包括一个输入框、两个按钮(发送消息和开始接收)以及一个显示接收消息的列表控件。原创 2024-06-26 11:45:20 · 436 阅读 · 0 评论 -
Qt,python获取IP地址信息
在Qt C++中,可以使用第三方库或API来查询IP地址和服务商信息。一个常用的方式是使用IPinfo或ip-api等在线API来获取IP地址信息。下面是一个示例,演示如何批量查询IP地址信息和服务商信息。运行这个示例代码,将会输出每个IP地址的相关信息。你可以根据需要扩展这个示例,处理更多的IP地址或使用不同的API来获取更详细的信息。首先,你需要在项目中添加一个用于HTTP请求的库,例如Qt自带的。以下是一个示例代码,演示如何使用Qt中的。通过公开接口批量查询IP地址归属地。原创 2024-06-26 08:42:41 · 266 阅读 · 0 评论 -
PySide6、Qt6、开发入门、环境配置、基本调试
点击第1个图标(Show Execution Point Alt+F10),无论你的代码编辑窗口光标在哪里,都会回到程序运行的地方。点击第4个图标(Step Into My Code Alt+Shift+F7),单步运行程序,会进入函数,但是只进入自己写的函数。点击第6个图标(Run To Cursor Shift+F9),无论当前运行到哪里,跳转到当前光标处运行。点击第3个图标(Step Into F7),单步运行程序,会进入函数,包括源代码中的函数。选择完,就OK了,环境配置完成。原创 2024-06-21 15:28:41 · 169 阅读 · 0 评论 -
分享一个基于Qt的Ymodem的上位机(GitHub开源)
YModem 协议是由 XModem 协议演变而来的,每包数据可以达到 1024 字节,是一个非常高效的文件传输协议。我们平常所说的 Ymodem 协议是指的 Ymodem-1K,除此还有 Ymodem-g(没有 CRC 校验,不常用)。YModem-1K 协议用 1024 字节数据帧传输取代了标准的 128 字节数据帧传输,发送的数据会使用 CRC 校验,保证数据传输的正确性。它每传输一个信息块时,就会等待接收端返回 ACK 信号,接收到响应信号后,才会继续传输下一个信息块,从而保证能够接收到全部数据。原创 2024-05-14 08:53:31 · 426 阅读 · 0 评论 -
mysql数据库学习记录(一)
在上面的示例中,我们创建了两个表:table1和table2。然后,我们使用ALTER TABLE语句在table2中添加了一个外键关联约束,将table1_id字段与table1表的id字段关联起来。其中,表名是你要创建的数据表的名称,列1, 列2, 列3, …是你要指定为主键的列名,数据类型是每一列的数据类型。在MySQL中,可以使用ALTER TABLE语句来添加外键关联约束。确保两个表已经创建,并且其中一个表的字段将作为外键。使用ALTER TABLE语句来添加外键关联约束。原创 2024-01-30 14:16:27 · 493 阅读 · 0 评论 -
使用RabbitMQ,关键点总结
AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。2006年,AMQP 规范发布。类比HTTP。原创 2024-03-15 14:07:30 · 975 阅读 · 1 评论 -
Qt C++调用libssh2实现sftp传输文件
SFTP(SSH File Transfer Protocol,也称 Secret File Transfer Protocol)是一种安全的文件传输协议,一种通过网络传输文件的安全方法;它确保使用私有和安全的数据流来安全地传输数据。FTPS是一种对常用的文件传输协议(FTP)添加传输层安全(TLS)和安全套接层(SSL)加密协议支持的扩展协议。FTPS不应与基于SSH的SSH文件传输协议或是Secure FTP协议相混淆。FTP、FTPS、SFTP不要混淆,我们这里是SFTP。原创 2024-04-07 15:58:19 · 744 阅读 · 0 评论 -
新手必看:QT实现聊天室(第一版)带源码
【代码】新手必看:QT实现聊天室(第一版)带源码。原创 2024-04-05 21:05:37 · 117 阅读 · 0 评论