- 博客(230)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注
原创 Qt QDockWidget详解以及例程
`QDockWidget`类提供了一个可以停靠在QMainWindow内的小窗口 (理论上可以在QMainWindow中任意排列),也可以作为QMainWindow上的顶级窗口浮动 (类似一个独立的窗口,可以通过拖动操作将`QDockWidget`浮动到任何位置),也可以选择限制DockWidget移动、浮动和关闭的能力,以及它们可以放置的区域。
2025-01-06 21:22:42
1178
原创 Windows 一分钟快速查看电脑开关时间
> 通过查看电脑的开关时间:>1. 可以了解自己在一天中的电脑使用情况,包括使用时长和频率;>2. 某些情况下,电脑可能会出现异常关机或重启的问题,通过查看开关时间记录,可以识别出这些问题发生的时间段,从而更准确地定位故障;>3. 检测异常行为,从而及时采取措施保护电脑和数据的安全本文主要讲述Windows系统如何快速查看电脑开关机时间.
2025-01-06 21:22:08
2279
原创 Qt Creator配置以及使用Valgrind - 检测内存泄露
Valgrind是一个在Linux平台下广泛使用的开源动态分析工具,它提供了一套丰富的工具集合,旨在帮助开发者检测和解决内存管理错误、线程同步问题以及优化程序性能。对于Qter来说,可以直接在Qt Creator配置`Valgrind`,输出的相关信息会逻辑清晰的显示在界面上。
2024-07-17 21:15:07
3016
2
原创 Qt 使用Installer Framework制作安装包
Qt Installer Framework (安装程序框架)是一个强大的工具集,用于创建自定义的在线和离线安装程序。它具有高度可配置性和可自定义性,适用于所有支持的Qt平台:Linux、Windows和macOS。并且其提供了清晰的文档和示例,帮助开发人员为应用程序创建安装程序。- 本文以Windows为例,简述其制作一个软件安装包的步骤。
2024-07-17 21:14:31
2725
原创 Qt 异步实现事件的定时执行 - QTimer和QThread的联合使用
在 Qt 中,如果想要定时执行某些事件或函数,通常会使用 QTimer 类。QTimer 允许设置一个时间间隔,当这个时间间隔过去后,它会发出一个信号。可以将这个信号连接到一个槽函数,从而在该时间间隔到达时执行特定的操作。如果想要实现定时的操作是异步执行 (不阻塞主线程),可通过`moveToThread`将定时器移动到一个线程中,信号和槽的连接类型使用`Qt::DirectConnection`,保证槽函数执行是在定时器的线程中。效果如下图所示 (一秒执行一次)
2024-07-09 20:49:42
1763
原创 Qt 创建的窗口一闪而过【已解决】
创建的窗口一闪而过,就是创建完立马被销毁了,常见情况是在一个函数中创建窗口并show() - `即创建在了栈上,函数结束局部变量(窗口)自动被释放`。主流的解决方法有两种:- 1. 使用指针 `new一个窗口`,函数结束也不会被释放,但是容易造成内存泄露,需`记得释放内存`- 2. 使用 `loop.exec();`进行阻塞,容易造成死循环,需`记得退出事件循环loop`
2024-07-09 20:49:21
1803
原创 Qt Creator配置以及使用Git
Qt Creator配置Git之后,可以看作是一个拥有图形用户界面 (GUI) 的Git,可以高效、可靠地使用 Git,并提供常用命令行操作,且可跨平台,适合Qter。
2024-07-03 20:59:35
3410
原创 Qt Q_ASSERT详解
`Q_ASSERT`是 Qt 框架中的一个宏,用于在调试时检查某个条件是否为真。它是程序调试中的一个重要工具,有助于开发者在开发过程中及时发现并修复潜在的错误。
2024-07-03 20:58:47
1728
原创 Qt 基于FFmpeg的视频播放器 - 播放、暂停以及拖动滑动条跳转
- 本文基于`FFmpeg`,使用Qt制作了一个极简的视频播放器. 相比之前的版本,加入了`播放`、`暂停`、`拖动滑动条跳转`功能,如上所示 (`左图`):- 使用`AVSEEK_FLAG_ANY`可以精准跳转到某一帧,但会出现花屏 (`左图`).- 使用EV录屏,再使用本软件将其转为gif (`左图`),再`GifCam`截取本软件转gif的过程 (`右图`),`GifCam`无法截取鼠标.
2024-06-24 18:28:36
1431
原创 Qt 信号与槽的使用详解 - 多种绑定形式、同步异步、Lambda表达式等
在Qt框架中,信号与槽(Signals and Slots)机制是一种强大的通信方式,它允许对象之间进行通信而无需知道彼此的详细实现。这种机制是Qt的核心特性之一,广泛应用于事件处理和对象间的通信,能够大大简化编程的复杂性,提高代码的可维护性和可扩展性。
2024-06-24 18:28:06
2531
原创 Qt 窗口居中显示
窗口居中可以提供良好的视觉效果、突出重点内容、提升用户导航和操作的便利性,有助于改善用户体验。- Qt一般情况下,其Mainwindow或弹出的窗口默认就是居中的,但是也有特殊情况:这就需要将窗口移动到屏幕中心. 以下介绍几种常用的居中方式(`大同小异`):
2024-05-31 10:28:43
3163
原创 Qt QProcess调用外部程序,并实时打印输出信息
> QProcess是Qt框架中的一个类,用于处理外部进程。它提供了一种直接与操作系统的进程进行交互的方式,可以启动一个外部程序,与其进行通信,获取其输出和错误信息,以及控制其运行。- `本文写了一个QProcess的试例,调用一个程序并实时获取其打印的信息.`
2024-05-31 10:28:22
2229
原创 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
1255
原创 Qt 配置Eigen矩阵库 - 并简单测试
Eigen是一个开源的C++模板库,提供了线性代数和矩阵运算的功能。它被设计为一个高性能、可扩展和易用的库,可以用于科学计算、机器学习和计算机图形学等领域。`本文主要说明如何在Qt中配置Eigen 以及 写了一个低通滤波器小Demo进行测试 - 如上图所示`
2024-05-29 19:25:41
3002
原创 Qt 界面上字体自适应控件大小 - 随控件缩放
Qt控件自适应字体大小可以用`adjustSize()`函数,但字体自适应控件大小并没有现成的函数可调. - 本文实现了按钮上的字体随按钮大小变化而变化 (如上图所示) - 其他控件同理。- 核心思路:`根据控件的大小变化,同步调整字体的大小` - 重写`resizeEvent`函数
2024-05-22 22:02:10
3410
原创 Qt 界面上控件自适应窗体大小 - 随窗体缩放
添加布局,设置控件的`minimumSize`、`maximumSize`和`sizePolicy`可以使其跟随窗体进行自适应缩放 - 如上图所示。
2024-05-22 22:01:53
18009
原创 Qt 基于FFmpeg的视频播放器 - QtFFmpegPlayer
- `本文基于FFmpeg,使用Qt制作了一个极简的视频播放器. 如图所示:`- FFmpeg版本信息:`ffmpeg-n7.0-latest-win64-lgpl-shared-7.0`
2024-05-10 23:59:17
2597
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
2639
3
原创 Qt Creator中变量与函数的注释 - 鼠标悬浮可显示
> 代码注释在软件开发中起着至关重要的作用。它们不仅有助于开发者理解和维护代码,还能促进团队协作,提高代码的可读性和可维护性。适当的注释应该是简洁明了、有针对性的,能够真正帮助其他开发者以及未来的自己理解和使用代码。本文主要针对c++类中的变量和函数. 鼠标悬浮或写代码时有相关注释提示。
2024-04-28 19:02:33
1680
5
原创 Linux 双击sh脚本运行无反应或一闪而退【已解决】
如题:在Linux环境下(Redhat 和 Ubuntu),双击可执行的.sh文件,点击 `Execute` 或者 `Execute in Terminal` 没反应,或者有时能看到一个小黑框一闪而过.
2024-04-28 17:58:39
3743
原创 Qt Debug模式下应用程序输出界面乱码【已解决】
源码为utf-8编码. - Qt Creator在`Debug模式`下运行程序,下方应用程序界面显示`乱码`. 但正常运行无乱码- 解决方案:语言->管理语言设置->更改系统区域设置->beta版UTF-8我使用以上方法无效,应用程序输出依旧为乱码。但是设置为run in terminal可以正常输出中文..
2024-04-19 21:11:25
3248
2
原创 Qt 项目文件(.pro)概述
Qt工程项目由项目文件`(.pro)`进行管理。qmake使用文件中的信息生成Makefile,其中包含构建每个项目所需的所有命令。`pro`文件通常包含源文件和头文件的列表、常规配置信息以及任何特定于应用程序的详细信息,例如要链接的额外库的列表,或要使用的额外包含路径的列表。
2024-04-19 21:01:22
1377
原创 Qt FFmpeg开发环境配置以及测试 - 不编译源码
`FFmpeg`是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它采用了LGPL或GPL许可证,并提供了录制、转换以及流化音视频的完整解决方案。本文主要介绍如何在Qt中配置FFmpeg。
2024-03-29 17:43:51
885
原创 【AIGC】百度文心大模型智能体平台 - 灵境矩阵
在当前技术环境下,AI大模型学习不仅要求研究者具备深厚的数学基础和编程能力,还需要对特定领域的业务场景有深入的了解。百度的灵境矩阵(基于`人人可 AI` 的理念)是百度推出依托文心大模型的智能体(Agent)平台,支持广大开发者根据自身行业领域、应用场景,选取不同类型的开发方式,打造大模型时代的产品能力。。- 站在文心大模型的肩膀上,设计有能力主动思考和行动的智能实体!
2024-03-29 17:43:12
1991
原创 Qt Linux下调用OpenGL的glu.h报错:error: GL/glu.h: No such file or directory
在Windows上正常运行的OpenGL程序,到Linux下突然报错..找不到`glu.h`。解决过程略曲折,特此记录问题以及解决方案,顺便留下解决过程方便复盘..
2024-02-26 20:08:04
1818
原创 Qt OpenGL程序在Windows下正常,但在Linux下无显示问题【已解决】
在Windows上正常运行的OpenGL程序,到Linux下正常编译…但是`没有任何显示(只有背景颜色)`。解决过程略曲折,特此记录问题以及解决方案,顺便留下解决过程方便复盘…
2024-02-26 20:07:15
1015
原创 Qt 基础之进度条 - QProgressDialog和QProgressBar
`进度条`的作用是用于显示任务或操作的进度,以便用户了解当前任务的完成情况。它可以提供实时、可视的反馈,让用户知道任务的进展情况,以及剩余的时间或工作量。进度条可以用于各种应用场景,比如文件下载、软件安装、视频播放、上传文件、数据处理等,帮助用户更好地管理和掌控任务的执行。- `QProgressDialog`和`QProgressBar`用来是Qt框架中用于显示进度条的两个类,它们都是基于QWidget的派生类,用于在应用程序中显示任务的进度。
2024-02-21 19:54:05
5714
原创 c++ 回调函数
C++中的`回调函数`是指将`一个函数作为参数传递给另一个函数`,并在需要的时候由后者进行调用。 通过回调函数,可以实现函数之间的灵活交互和扩展,提高代码的复用性和可维护性。
2024-02-21 19:53:44
685
原创 Qt OpenGL - 三维坐标系 (带刻度标签)
在OpenGL进行3D可视化,绘制网格形式的坐标系则能更清晰的展示所画图形位置。由于OpenGL本身并没有绘制文字的功能,所以想要显示刻度标签或者一些其他标签需要自己手撸代码。Qt的` QOpenGLWidget `可以较方便的解决这个问题,其可以在OpenGL绘制之后,使用`QPainter`继续绘制2D图形或文字标签。
2024-02-07 09:27:14
2604
3
原创 Qt Excel读写 - QXlsx的安装配置以及测试
Qt无自带的库处理Excel 文件,但可通过`QAxObject `借助`COM`接口进行Excel的读写。亦可使用`免费的开源第三方库:QXlsx`,一个基于Qt库开发的用于读写Microsoft Excel文件的C++库。它提供了一组简单易用的API,可以方便地创建、修改和操作Excel文件。
2024-01-30 18:41:22
3494
3
原创 Qt 基础之QDataTime
QDataTime`是Qt框架中用于处理日期和时间的类。它提供了操作和格式化日期、时间和日期时间组合的功能。QDataTime可以用于存储和检索日期和时间、比较日期和时间、对日期和时间执行算术操作以及将日期和时间转换为不同的格式。(注:QDateTime不包括闰秒。)
2024-01-30 18:41:01
1931
原创 Linux 时间同步 - Chrony服务
为什么需要时间同步? 其意义可参考秦朝统一度量衡,车同轨,书同文。核心就是方便协同工作。`Chrony`能更精确、更快的同步时钟,传统ntp需要几小时,而Chrony仅需要数秒种或数毫秒即可完成时间同步,并且其还能为网络中的其他计算机提供时间服务,即既可以当做服务端,也可以充当客户端。本文主要讲述了Chrony的简单使用与常用参数的含义。
2024-01-19 21:42:44
1425
原创 python 自动化模块 - pyautogui初探
PyAutoGUI允许Python脚本控制鼠标和键盘,以自动化与其他应用程序的交互。API的设计非常简单,适用于Windows、macOS和Linux。功能如下:- 1. 移动鼠标并在其他应用程序的窗口中单击。- 2. 向应用程序发送按键(例如,填写表格)。- 3. 截屏,并给出一个图像(例如,按钮或复选框),然后在屏幕上找到它。- 4. 找到应用程序的窗口,然后移动、调整大小、最大化、最小化或关闭它(当前仅限Windows)。- 5. 显示警报和消息框。
2024-01-19 21:42:22
1274
原创 Qt OpenGL - 网格式的直角坐标系
在OpenGL进行3D可视化,只绘制三条坐标轴略显单薄,而绘制网格形式的坐标系则能更清晰的展示所画图形位置。
2024-01-13 14:25:04
1628
原创 Qt OpenGL初探 - 画坐标轴
OpenGL使软件开发人员能够在CAD、内容创建、能源、娱乐、游戏开发、制造、医疗和虚拟现实等市场中创建高性能、视觉吸引力强的图形软件应用程序。`Qt OpenGL`模块可以很方便地将OpenGL应用在Qt程序中,本文使用其画了一个3D坐标轴,并详细讲解了具体的编码过程与官方手册的使用。
2024-01-13 14:24:04
2860
原创 Qt5 安装教程 - 跳过登录界面
Qt5.14.2及以前的版本有离线安装包,无需登录 (老版本连登录界面也无)。之后的版本需登录进行在线安装。本文以`Qt5.12.2`版本为例,说明如何`跳过登录界面`,并尽可能详细地说明安装的每一步...
2024-01-01 18:54:40
7126
原创 【三维几何学习】自制简单的网格可视化软件 — Mesh Visualization
本是为了方便输入模型分析、网格分割结果可视化做的一款小软件,后续通过增删变成了Mesh Visualization,主要针对`三角形网格`。主要功能包括:读取网格(目前仅支持.obj),关于网格顶点、边、面的一些可视化小操作(是否显示、更改颜色等)、比较简单的灯光以及背景设置、一些基本功能(模型列表、操作日志等)。
2023-11-22 22:30:41
576
原创 【AIGC】百度文库文档助手之 - 一键生成PPT
就在上个月百度文库升级为一站式智能文档平台,开放四大AI能力:`智能PPT`、智能总结、智能创作和智能编辑。个人最喜欢`智能PPT`,给定一个题目就可以自动生成PPT,细节上可能不太完善,但整体和布局上较美观,值得参考。
2023-10-21 23:21:43
6898
2
原创 Qt qInstallMessageHandler详解
`qInstallMessageHandler`用于安装自定义的消息处理程序,返回指向上一个消息处理程序的指针 (**此函数在Qt 5.0中被引入**):- 函数原型:QtMessageHandler qInstallMessageHandler(QtMessageHandler handler) 这个函数允许码农完全控制Qt库中产生的警告、错误等消息的输出,改变Qt库的默认行为,对于调试应用程序,或者记录应用程序的运行过程非常有用。
2023-10-16 19:02:08
3551
原创 python 打包可执行文件-Nuitka详解
`Nuitka`是用Python编写的优化Python编译器,它可以创建运行时不需要单独安装程序的可执行文件。简单易使用,与Python2(2.6、2.7)和Python3(3.3-3.10)完全兼容,适用于Windows、macOS、Linux等平台。
2023-10-07 19:10:03
4546
8
使用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
自制简单的网格可视化软件
2023-10-21
二手车交易价格预测 - python源码
2023-09-12
整数序列的字典序r-组合算法.pptm
2023-09-09
Matlab的基本运算-向量、矩阵、逻辑等.doc
2023-08-31
Matlab软件环境以及基本使用.doc
2023-08-30
delphiUDP广播.rar
2023-08-29
delphiTcp点对点通信.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关注的人