- 博客(246)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注
原创 Qt Windows下编译动态库生成的.a文件是什么?
众所周知,Linux下的静态库是扩展名为.a的文件,动态库是扩展名为.so的文件。Windows下的静态库是扩展名为.lib的文件,动态库是扩展名为.dll的文件,Windows编译动态库时,也会生成.lib文件,其作为导入库参与编译阶段。而Linux下没有导入库,.so文件参与程序的编译链接阶段及程序的运行阶段。那么,`在Windows下编译动态库生成的.a文件是什么?`
2025-06-29 17:31:21
945
原创 Qt QGraphics简述及例程 - QGraphicsView、QGraphicsScene和QGraphicsItem
本文介绍了Qt框架中的QGraphics模块,包含QGraphicsView、QGraphicsScene和QGraphicsItem三大组件,构成高效的场景-视图架构,适用于2D图形应用开发。通过例程演示了如何创建可交互的矩形和椭圆图形项,并详细解析了坐标系系统:默认以场景中心为原点,可通过setSceneRect调整视图位置,对齐方式影响坐标原点定位。文章还提供了相关技术文档链接,帮助开发者深入理解Qt图形系统的坐标机制和刷新原理。
2025-06-29 17:29:37
532
原创 Qt readyRead信号避坑:不产生readyRead信号的解决方法
本文总结了Qt中readyRead信号不触发的常见问题及解决方法。针对QSerialPort,主要存在版本兼容性问题(如Qt5.13.1等版本存在bug)、缓存满导致信号不触发以及阻塞调用导致信号丢失三种情况,建议通过更换版本、清理缓存或避免阻塞调用解决。对于Q(Tcp)Socket类,问题多源于未及时读取缓存数据导致信号停止,可通过重启Socket、定时读取或确保完全清空缓存来恢复信号接收。文章收集了多个相关技术博客的解决方案,为开发者提供了实用参考。
2025-06-28 21:08:33
746
原创 Windows 合并多个txt到一个txt文件中 (txt文件的合并与拆分)
本文介绍了Windows系统中处理txt文本文件的实用方法。在文件合并方面,使用type命令(如type *.txt > merge.txt)可快速将多个txt合并为一个文件,并演示了在指定目录打开cmd的操作技巧。对于文件拆分,文中指出需借助脚本或专用软件实现,并提供了相关参考链接。此外,还展示了一个Python脚本示例,用于实现csv文件(或改后缀的txt文件)的抽稀处理,每隔10行提取一次数据。这些方法兼顾了Windows和Linux系统的操作习惯,适用于日志处理、数据整理等场景。
2025-06-28 16:15:47
1054
原创 Qt #define宏定义相关问题避坑
Qt宏定义避坑指南:使用#define宏定义时需注意命名冲突(避免与系统/第三方库宏重名)、调试困难(复杂表达式展开不可见)及参数宏的风险(避免使用自增运算符)。建议优先使用const/enum替代常量,复杂逻辑改用内联函数。带参宏需严格遵循语法规范(无空格、慎用运算符)。文章还对比了#pragma once与#ifndef的优劣,并提供了编译器预定义宏的查看方法。
2025-06-28 16:14:57
639
原创 MQTT 协议简述以及开源的MQTT服务器
MQTT是一种轻量级发布/订阅消息协议,专为低带宽网络设计,广泛应用于物联网。其核心特性包括最小2字节协议头、主题路由、三种QoS级别(最多/至少/恰好一次)。架构包含客户端、代理(如EMQX、NanoMQ、RabbitMQ、Mosquitto)和TCP/IP连接,支持TLS加密和ACL访问控制。主要适用于资源受限设备的高效通信,是物联网领域的主流协议之一。
2025-06-26 21:48:47
1109
原创 html 照片环 - 图片的动态3D环绕
该HTML代码实现了一种动态3D照片环绕效果,展示9张图片在黑色背景中以圆形轨迹环绕旋转。主要技术特点包括:使用CSS3 3D变换(transform)和过渡(transition)属性创建平滑的旋转动画每张图片以40度间隔均匀分布在3D空间中(rotateY角度)通过perspective属性设置景深效果,增强3D视觉体验添加了图片圆角、边框、阴影和倒影等装饰效果点击舞台区域可触发360度旋转动画,持续30秒这种效果适用于产品展示、照片墙等网页交互场景,无需JavaScript即可实现基础动
2025-06-26 21:46:54
1739
2
原创 数据库中的Schema是什么?不同数据库中Schema的含义
数据库Schema是用于组织和管理数据库对象的逻辑结构,在不同数据库系统中实现方式各异。MySQL中Schema等同于Database;PostgreSQL的Schema是Database内部的命名空间;Oracle的Schema与用户账户绑定;SQL Server的Schema用于权限管理和对象分组;DB2的Schema类似命名空间,侧重用户隔离。理解各类数据库的Schema特性有助于合理设计数据库结构,满足多租户、模块化或权限管理等不同需求。
2025-06-13 20:21:45
579
原创 Qt QTcpSocket的write无法发送数据【已解决】
Qt的QTcpSocket::write函数存在数据无法即时发送的问题,因其非阻塞特性仅写入内部缓冲区,需依赖事件循环触发发送。解决方案包括:1) write后立即调用flush或waitForBytesWritten(可能影响性能);2) 通过信号槽机制异步写入(推荐)。进一步分析表明,write的高频调用会导致数据滞留缓冲区,需合理间隔或主动刷新。flush非阻塞写入系统层,而waitForBytesWritten会阻塞线程,适用于非GUI场景。参考多篇技术文档验证了该问题的普遍性及解决方法的有效性。
2025-06-12 22:11:12
1145
原创 使用微信分身,但手机上默认主微信登录问题【已解决】
微信分身功能通常用于在同一设备上同时运行多个微信账号,但部分用户会遇到默认主微信自动登录的问题。
2025-06-12 21:22:33
697
原创 Linux 查看两个主机之间时间是否同步 - clockdiff命令详解
两个服务器 (基于Linux) 之间时间同步的重要性体现在多个方面,对系统的稳定性、安全性、数据一致性以及业务逻辑的正确执行都起着关键作用,比如日志记录和分析:当服务器之间时间不同步时,日志记录的时间戳将不准确,导致日志顺序混乱。这使得在分析问题时,很难准确地还原事件发生的先后顺序,增加了故障排查的难度。在Linux系统下,可以使用clockdiff查看两个主机之间系统时间的差值 – 精度为ms,可依据此差值判断时间是否同步,或继续排查其他问题。
2025-06-11 19:56:46
745
原创 【PyQt5】从零开始的PyQt5 - QTextEdit 篇
QTextEdit 是 Qt 框架中用于显示和编辑富文本(如 HTML、表格、图像等)和纯文本的控件。它继承自 QAbstractScrollArea,提供滚动功能,并支持复杂的文本格式、光标操作、撤销/重做等功能。本文主要简述PyQt5中的QTextEdit以及展示常用例程。
2025-06-11 19:48:47
725
原创 Windows 安装以及配置Docker全流程 - Docker Toolbox
本文详细介绍了在Windows低版本系统中使用Docker Toolbox的完整安装配置流程。首先提供了三种下载渠道(推荐版、阿里云镜像和GitHub官方源),并说明安装注意事项。针对网络连接问题,重点讲解了通过SSH命令配置国内镜像源的方法,推荐了可用的镜像网址。最后针对容器启动闪退问题,提供了解决方案(添加--privileged=true参数)。文章包含完整的命令操作示例和截图说明,从下载安装到成功运行容器的一站式指导,帮助用户在Windows低版本环境中顺利使用Docker。
2025-06-11 19:43:14
1523
原创 Windows 删除文件出现错误代码0x80070570:文件或目录损坏且无法读取
当在Windows系统中遇到错误代码0x80070570(文件或目录损坏无法读取)时,经历了多次修复尝试。最初使用腾讯电脑管家粉碎部分文件,后通过命令行chkdsk D: /f /r和开机自动修复均未彻底解决问题。最终解决方案是格式化硬盘。问题可能源于强制关机导致文件系统损坏。解决过程中,硬盘时有时无、系统卡顿等现象明显。建议重要数据提前备份,遇到类似问题可先尝试磁盘修复命令,无效时再考虑格式化。参考了多篇技术文章,其中包含使用WinRAR删除嵌套文件夹等替代方案。
2025-06-11 19:41:38
1916
原创 【PyQt5】从零开始的PyQt5 - QLabel篇
QLabel主要用于显示文本或图像,不提供用户交互功能。本文主要简述PyQt5中的QLabel以及展示其常用例程。
2025-06-01 22:43:07
727
原创 【PyQt5】PyQt5初探 - 一个简单的例程
`PyQt5`是一个比较流行的Python图形用户界面(GUI)库,它基于Qt库(一个跨平台的C++库,用于开发应用程序的图形界面)为Python开发者提供了一个强大的工具,用于创建专业的GUI应用程序,而无需深入了解底层的C++编程。
2025-06-01 22:42:24
944
原创 Qt QDockWidget详解以及例程
`QDockWidget`类提供了一个可以停靠在QMainWindow内的小窗口 (理论上可以在QMainWindow中任意排列),也可以作为QMainWindow上的顶级窗口浮动 (类似一个独立的窗口,可以通过拖动操作将`QDockWidget`浮动到任何位置),也可以选择限制DockWidget移动、浮动和关闭的能力,以及它们可以放置的区域。
2025-01-06 21:22:42
1362
原创 Windows 一分钟快速查看电脑开关时间
> 通过查看电脑的开关时间:>1. 可以了解自己在一天中的电脑使用情况,包括使用时长和频率;>2. 某些情况下,电脑可能会出现异常关机或重启的问题,通过查看开关时间记录,可以识别出这些问题发生的时间段,从而更准确地定位故障;>3. 检测异常行为,从而及时采取措施保护电脑和数据的安全本文主要讲述Windows系统如何快速查看电脑开关机时间.
2025-01-06 21:22:08
6150
原创 Qt Creator配置以及使用Valgrind - 检测内存泄露
Valgrind是一个在Linux平台下广泛使用的开源动态分析工具,它提供了一套丰富的工具集合,旨在帮助开发者检测和解决内存管理错误、线程同步问题以及优化程序性能。对于Qter来说,可以直接在Qt Creator配置`Valgrind`,输出的相关信息会逻辑清晰的显示在界面上。
2024-07-17 21:15:07
3517
2
原创 Qt 使用Installer Framework制作安装包
Qt Installer Framework (安装程序框架)是一个强大的工具集,用于创建自定义的在线和离线安装程序。它具有高度可配置性和可自定义性,适用于所有支持的Qt平台:Linux、Windows和macOS。并且其提供了清晰的文档和示例,帮助开发人员为应用程序创建安装程序。- 本文以Windows为例,简述其制作一个软件安装包的步骤。
2024-07-17 21:14:31
3116
原创 Qt 异步实现事件的定时执行 - QTimer和QThread的联合使用
在 Qt 中,如果想要定时执行某些事件或函数,通常会使用 QTimer 类。QTimer 允许设置一个时间间隔,当这个时间间隔过去后,它会发出一个信号。可以将这个信号连接到一个槽函数,从而在该时间间隔到达时执行特定的操作。如果想要实现定时的操作是异步执行 (不阻塞主线程),可通过`moveToThread`将定时器移动到一个线程中,信号和槽的连接类型使用`Qt::DirectConnection`,保证槽函数执行是在定时器的线程中。效果如下图所示 (一秒执行一次)
2024-07-09 20:49:42
1900
原创 Qt 创建的窗口一闪而过【已解决】
创建的窗口一闪而过,就是创建完立马被销毁了,常见情况是在一个函数中创建窗口并show() - `即创建在了栈上,函数结束局部变量(窗口)自动被释放`。主流的解决方法有两种:- 1. 使用指针 `new一个窗口`,函数结束也不会被释放,但是容易造成内存泄露,需`记得释放内存`- 2. 使用 `loop.exec();`进行阻塞,容易造成死循环,需`记得退出事件循环loop`
2024-07-09 20:49:21
1994
原创 Qt Creator配置以及使用Git
Qt Creator配置Git之后,可以看作是一个拥有图形用户界面 (GUI) 的Git,可以高效、可靠地使用 Git,并提供常用命令行操作,且可跨平台,适合Qter。
2024-07-03 20:59:35
4019
原创 Qt Q_ASSERT详解
`Q_ASSERT`是 Qt 框架中的一个宏,用于在调试时检查某个条件是否为真。它是程序调试中的一个重要工具,有助于开发者在开发过程中及时发现并修复潜在的错误。
2024-07-03 20:58:47
1887
原创 Qt 基于FFmpeg的视频播放器 - 播放、暂停以及拖动滑动条跳转
- 本文基于`FFmpeg`,使用Qt制作了一个极简的视频播放器. 相比之前的版本,加入了`播放`、`暂停`、`拖动滑动条跳转`功能,如上所示 (`左图`):- 使用`AVSEEK_FLAG_ANY`可以精准跳转到某一帧,但会出现花屏 (`左图`).- 使用EV录屏,再使用本软件将其转为gif (`左图`),再`GifCam`截取本软件转gif的过程 (`右图`),`GifCam`无法截取鼠标.
2024-06-24 18:28:36
1562
原创 Qt 信号与槽的使用详解 - 多种绑定形式、同步异步、Lambda表达式等
在Qt框架中,信号与槽(Signals and Slots)机制是一种强大的通信方式,它允许对象之间进行通信而无需知道彼此的详细实现。这种机制是Qt的核心特性之一,广泛应用于事件处理和对象间的通信,能够大大简化编程的复杂性,提高代码的可维护性和可扩展性。
2024-06-24 18:28:06
2699
原创 Qt 窗口居中显示
窗口居中可以提供良好的视觉效果、突出重点内容、提升用户导航和操作的便利性,有助于改善用户体验。- Qt一般情况下,其Mainwindow或弹出的窗口默认就是居中的,但是也有特殊情况:这就需要将窗口移动到屏幕中心. 以下介绍几种常用的居中方式(`大同小异`):
2024-05-31 10:28:43
3519
原创 Qt QProcess调用外部程序,并实时打印输出信息
> QProcess是Qt框架中的一个类,用于处理外部进程。它提供了一种直接与操作系统的进程进行交互的方式,可以启动一个外部程序,与其进行通信,获取其输出和错误信息,以及控制其运行。- `本文写了一个QProcess的试例,调用一个程序并实时获取其打印的信息.`
2024-05-31 10:28:22
2484
原创 Qt 基于FFmpeg的视频转换器 - 转GIF动图
之前写过一个基于python的 [MP4视频转GIF动图],速度略慢且不容易打包 (体积很大),故基于c++写一个小程序,方便日常使用. (这里推荐几个gif生成的小工具 - `GifCam`、`ScreenGif.exe`、`LICEcap.exe`等等 or 直接使用`ffmpeg`提供的小工具) - 本文思路:基于`FFmpeg`进行视频的读取解码成一张张图片,调用`gif.h`将图片写入gif
2024-05-29 19:26:10
1325
原创 Qt 配置Eigen矩阵库 - 并简单测试
Eigen是一个开源的C++模板库,提供了线性代数和矩阵运算的功能。它被设计为一个高性能、可扩展和易用的库,可以用于科学计算、机器学习和计算机图形学等领域。`本文主要说明如何在Qt中配置Eigen 以及 写了一个低通滤波器小Demo进行测试 - 如上图所示`
2024-05-29 19:25:41
3415
原创 Qt 界面上字体自适应控件大小 - 随控件缩放
Qt控件自适应字体大小可以用`adjustSize()`函数,但字体自适应控件大小并没有现成的函数可调. - 本文实现了按钮上的字体随按钮大小变化而变化 (如上图所示) - 其他控件同理。- 核心思路:`根据控件的大小变化,同步调整字体的大小` - 重写`resizeEvent`函数
2024-05-22 22:02:10
3945
原创 Qt 界面上控件自适应窗体大小 - 随窗体缩放
添加布局,设置控件的`minimumSize`、`maximumSize`和`sizePolicy`可以使其跟随窗体进行自适应缩放 - 如上图所示。
2024-05-22 22:01:53
20797
原创 Qt 基于FFmpeg的视频播放器 - QtFFmpegPlayer
- `本文基于FFmpeg,使用Qt制作了一个极简的视频播放器. 如图所示:`- FFmpeg版本信息:`ffmpeg-n7.0-latest-win64-lgpl-shared-7.0`
2024-05-10 23:59:17
2894
3
原创 Qt Excel读写 - QXlsx读取Excel文件显示到QTableWidget
`QXlsx`官方显示的例子中,有一个`XlsxFactory`可以Load xlsx file and display on Qt widgets.但是其包含商业许可....自己写了一个简化版本:`可以读取Excel文件,显示到QTableWidget上 (如上图所示),也可在QTableWidget上进行修改,再保存到Excel文件中。`- `本文只考虑了单元格合并情况,其他格式问题暂未处理 (字体、颜色等)`
2024-05-10 23:46:17
2805
3
原创 Qt Creator中变量与函数的注释 - 鼠标悬浮可显示
> 代码注释在软件开发中起着至关重要的作用。它们不仅有助于开发者理解和维护代码,还能促进团队协作,提高代码的可读性和可维护性。适当的注释应该是简洁明了、有针对性的,能够真正帮助其他开发者以及未来的自己理解和使用代码。本文主要针对c++类中的变量和函数. 鼠标悬浮或写代码时有相关注释提示。
2024-04-28 19:02:33
1876
8
原创 Linux 双击sh脚本运行无反应或一闪而退【已解决】
如题:在Linux环境下(Redhat 和 Ubuntu),双击可执行的.sh文件,点击 `Execute` 或者 `Execute in Terminal` 没反应,或者有时能看到一个小黑框一闪而过.
2024-04-28 17:58:39
4340
原创 Qt Debug模式下应用程序输出界面乱码【已解决】
源码为utf-8编码. - Qt Creator在`Debug模式`下运行程序,下方应用程序界面显示`乱码`. 但正常运行无乱码- 解决方案:语言->管理语言设置->更改系统区域设置->beta版UTF-8我使用以上方法无效,应用程序输出依旧为乱码。但是设置为run in terminal可以正常输出中文..
2024-04-19 21:11:25
3590
3
原创 Qt 项目文件(.pro)概述
Qt工程项目由项目文件`(.pro)`进行管理。qmake使用文件中的信息生成Makefile,其中包含构建每个项目所需的所有命令。`pro`文件通常包含源文件和头文件的列表、常规配置信息以及任何特定于应用程序的详细信息,例如要链接的额外库的列表,或要使用的额外包含路径的列表。
2024-04-19 21:01:22
1417
原创 Qt FFmpeg开发环境配置以及测试 - 不编译源码
`FFmpeg`是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它采用了LGPL或GPL许可证,并提供了录制、转换以及流化音视频的完整解决方案。本文主要介绍如何在Qt中配置FFmpeg。
2024-03-29 17:43:51
936
原创 【AIGC】百度文心大模型智能体平台 - 灵境矩阵
在当前技术环境下,AI大模型学习不仅要求研究者具备深厚的数学基础和编程能力,还需要对特定领域的业务场景有深入的了解。百度的灵境矩阵(基于`人人可 AI` 的理念)是百度推出依托文心大模型的智能体(Agent)平台,支持广大开发者根据自身行业领域、应用场景,选取不同类型的开发方式,打造大模型时代的产品能力。。- 站在文心大模型的肩膀上,设计有能力主动思考和行动的智能实体!
2024-03-29 17:43:12
2132
使用tensorflow基于MNIST数据集实现手写数字识别
2024-03-02
mysql-5.5.36-winx64.zip
2024-02-24
Qt OpenGL - 三维坐标系 (带刻度标签)
2024-02-07
ffmpeg-master-latest-win64-gpl-shared.zip
2024-02-07
QOpenGLDemo-3D坐标系.zip
2024-01-13
QOpenGLDemo-坐标轴.zip
2024-01-13
二手车交易价格预测 - python源码
2023-09-12
自制简单的网格可视化软件
2023-10-21
整数序列的字典序r-组合算法.pptm
2023-09-09
Matlab的基本运算-向量、矩阵、逻辑等.doc
2023-08-31
Matlab软件环境以及基本使用.doc
2023-08-30
delphiTcp点对点通信.rar
2023-08-29
delphiUDP广播.rar
2023-08-29
从零开始网格上的深度学习 - 系列源码
2023-08-27
QDockWidget例程
2025-01-19
PyQt5初探 - 一个简单的例程
2025-01-11
valgrind-3.23.0源码
2024-07-10
LCD1602驱动程序
2024-06-29
DS18B20驱动程序
2024-06-29
CyberChef 10.18.6
2024-06-29
Cisco Packet Tracer 6.2 for Windows Instructor Version
2024-06-27
mysql-5.5.36
2024-06-27
opencv ippicv
2024-06-26
JavaScript动态画心
2024-06-26
sqlitestudio-2.1.5
2024-06-26
blumind 3.2 (轻量的思维导图软件)
2024-06-26
Qt 配置Eigen矩阵库 - 并简单测试
2024-05-26
Qt 界面上字体自适应控件大小 - 随控件缩放
2024-05-16
Qt Excel读写 - QXlsx读取Excel文件显示到QTableWidget
2024-05-08
Qt 基于FFmpeg的视频播放器 - QtFFmpegPlayer
2024-05-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人