
QT
文章平均质量分 76
byxdaz
十年以上C/VC++开发经验。熟悉网络编程、数据库编程、数字图像处理与识别,熟悉软件工程和项目管理,熟悉linux C/C++开发。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Qt中实现异步阻塞等待应答常用方法
在Qt中实现异步阻塞等待应答(即发送命令后等待响应,但不阻塞主事件循环)通常有几种方法。原创 2025-08-22 09:06:54 · 368 阅读 · 0 评论 -
UPnP/SSDP入门
UPnP (Universal Plug and Play) 是一种网络协议,允许设备在局域网中自动发现和交互,而 SSDP (Simple Service Discovery Protocol) 是其核心发现机制。本指南将介绍 UPnP/SSDP 的基本概念和工作原理。原创 2025-08-21 09:11:14 · 681 阅读 · 0 评论 -
QT 网络TCP编程入门
属性类型说明访问函数int最大等待连接数,超过此数的新连接将被拒绝int底层监听队列的大小(仅在某些平台有效)服务器监听的地址serverPortquint16服务器监听的端口qintptr服务器套接字描述符bool是否正在监听连接属性类型说明访问函数本地绑定的IP地址localPortquint16本地绑定的端口号远程主机的IP地址peerPortquint16远程主机的端口号peerNameQString远程主机名称qintptr底层套接字描述符state套接字当前状态error。原创 2025-08-18 08:58:18 · 850 阅读 · 0 评论 -
QSharedPointer<QByteArray> 入门
线程安全的引用计数智能指针自动管理所指向对象的内存释放当最后一个引用被销毁时自动删除目标对象cpp// 使用自定义删除器qDebug() << "删除数据";delete obj;});优先使用::create()而非new直接构造多线程传递时保持数据不可变大型数据优先使用共享指针而非传值及时释放不再需要的引用配合信号槽实现线程安全通信。原创 2025-08-15 09:01:24 · 370 阅读 · 0 评论 -
QTimer、QElapsedTimer、QDeadlineTimer
QTimer 是 Qt 中用于定时执行操作的类,它提供了单次和重复定时器的功能。原创 2025-08-09 14:07:06 · 860 阅读 · 0 评论 -
Qt 的对象线程亲和性规则
查阅 Qt 官方文档,如果类文档明确说明它是 thread-safe,则可以跨线程使用。如果父对象被移动到另一个线程,子对象也会一起移动。)本身是线程安全的,但多线程访问时仍需同步(如用。可以跨线程发送事件,Qt 会自动处理线程亲和性。子类都不是线程安全的,除非特别说明(如。Qt 的线程模型基于 QObject。,否则可能导致崩溃或未定义行为。,否则可能导致崩溃或未定义行为。可以将对象迁移到另一个线程。的子类,并且不是线程安全的。,不能在目标线程直接调用。以下是一个完整的跨线程。将其迁移到工作线程。原创 2025-08-09 10:25:41 · 897 阅读 · 0 评论 -
QDataStream入门
你可以为自定义类型重载<<和>>运算符:cppint age;return out;return in;// 使用out << p;cpp// 自定义结构体int age;// 可选:添加构造函数方便使用// 重载输出运算符 <<return out;// 重载输入运算符 >>return in;原创 2025-08-07 23:15:25 · 440 阅读 · 0 评论 -
QT 网络UDP编程入门
值说明低延迟选项保持连接选项组播TTL选项组播回环选项服务类型选项发送缓冲区大小接收缓冲区大小广播选项值说明平台默认绑定模式允许多个服务绑定到同一地址独占绑定地址提示重用地址。原创 2025-08-08 07:00:00 · 1066 阅读 · 0 评论 -
Qt qmake入门
qmake 是 Qt 提供的跨平台构建工具,它能够根据项目文件(.pro)自动生成 Makefile 或其他构建系统文件(如 Visual Studio 项目文件)。qmake 简化了跨平台项目的构建过程,开发者只需编写一个 .pro 文件,qmake 会根据目标平台生成相应的构建文件。qmake# 自定义预处理命令# 自定义编译后步骤qmake# 定义变量# 使用变量# 环境变量qmake# 函数体# 调用函数message()qmake# 自定义编译器。原创 2025-08-09 07:00:00 · 253 阅读 · 0 评论 -
QT样式编程2
QT样式(Qt Style Sheets)是一种基于CSS的机制,用于自定义QT应用程序的外观和风格。它允许开发者在不修改代码的情况下改变应用程序的视觉表现。// 自定义按钮类// ...// 样式设置}");// MyButton也会继承这个样式// 解决方案1:为自定义控件专门设置样式}");// 解决方案2:在自定义控件中强制设置样式");原创 2025-07-31 12:52:23 · 1117 阅读 · 0 评论 -
QT实现雷达图
修改数据结构以支持多组数据,使用不同颜色绘制多个多边形。角度从顶部开始(-π/2),按等分角度分布。继承自 QWidget,负责绘制雷达图。数据值归一化到 0~1 范围。方法用于设置数据和标签。:绘制同心圆网格和轴线。:绘制数据多边形和顶点。:在轴线末端绘制标签。原创 2025-07-19 07:00:00 · 694 阅读 · 0 评论 -
Qt 中使用 SQLite 数据库
SQLite 允许用各种编程语言扩展自定义函数:ci < len;i++) {// 注册函数public:// 使用自定义模型。原创 2025-07-16 07:00:00 · 1075 阅读 · 0 评论 -
QT并发机制
QT 提供了多种并发编程机制,使得开发者能够充分利用多核处理器优势,同时保持代码的可维护性和跨平台特性。原创 2025-07-06 16:43:11 · 988 阅读 · 0 评论 -
QtConcurrent入门
QtConcurrent 是 Qt 提供的一个高级并发编程框架,它简化了并行算法的实现,让开发者能够更容易地利用多核处理器的优势。原创 2025-07-06 16:39:11 · 302 阅读 · 0 评论 -
QThreadPool 入门
QThreadPool 是 Qt 提供的一个线程池管理类,它可以有效地管理和重用线程,避免频繁创建和销毁线程带来的性能开销。以下是 QThreadPool 的基本使用方法。原创 2025-07-06 16:30:11 · 320 阅读 · 0 评论 -
Qt中的QObject::moveToThread方法详解
是Qt框架中一个非常重要的功能,它允许改变QObject及其子对象的线程关联性。这个功能在多线程编程中特别有用,可以将耗时操作移到工作线程执行,避免阻塞主线程/GUI线程。原创 2025-07-06 16:25:16 · 1270 阅读 · 0 评论 -
QEventLoop入门
QEventLoop 是 Qt 框架中的一个核心类,用于管理事件循环。事件循环是 Qt 应用程序的核心机制,负责处理各种事件,如用户输入、定时器、网络通信等。protected:// 处理按键事件// 事件已处理。原创 2025-07-05 16:15:58 · 475 阅读 · 0 评论 -
Qt智能指针
在 Qt 框架中,智能指针用于自动管理对象的生命周期,防止内存泄漏。原创 2025-07-05 15:23:49 · 1070 阅读 · 0 评论 -
QT位置与坐标函数以及相关转换
方法签名参数说明功能描述等价写法使用场景target: 目标控件point: 当前控件坐标系中的点将当前控件的点坐标转换到目标控件的坐标系任意两个控件间的坐标转换source: 源控件point: 源控件坐标系中的点将源控件的点坐标转换到当前控件的坐标系从任意控件转换到当前控件point: 当前控件坐标系中的点将当前控件的点坐标转换到父窗口坐标系子控件向父窗口转换坐标point: 父窗口坐标系中的点将父窗口的点坐标转换到当前控件坐标系父窗口坐标转换到子控件point。原创 2025-06-27 08:00:00 · 689 阅读 · 0 评论 -
QRubberBand入门
QRubberBand 是 Qt 框架中用于实现可视化选择区域的类,它可以在用户拖动鼠标时显示一个半透明的矩形或线条选择框。以下是 QRubberBand 的完整入门指南。QRubberBand 提供两种形状: - 矩形选择框 - 线条选择框3. 基本使用方法显示和隐藏设置位置和大小4. 完整鼠标拖拽示例5. 自定义样式可以通过样式表自定义 QRubberBand 的外观:解决方案:确保坐标是相对于父控件的,使用 和 进行坐标转换解决方案:限制选择框在父控件区原创 2025-06-26 08:00:00 · 331 阅读 · 0 评论 -
QTextDocument 入门
* 实现布局逻辑 */// 设置自定义边框QTextCharFormat 是 Qt 框架中用于描述文本字符格式的类,属于 QtGui 模块。它用于设置和获取文本的视觉属性,如字体、颜色、背景等。原创 2025-04-23 00:14:09 · 1706 阅读 · 0 评论 -
Windows10/11查看依赖工具Dependencies
Dependencies(Dependency Walker 的现代替代工具)的详细介绍和使用指南,适用于 Windows 10/11,帮助您高效分析程序依赖关系。因为杀毒软件误报的问题,必须下载没有peview的版本,Dependencies_x64_Release_.without.peview.exe。或者运行带图形界面的DependenciesGui.exe。:以树状结构显示所有依赖的 DLL,展开可查看层级。:路径、版本、架构(32/64位)。:该文件调用的外部函数。:该文件提供的函数。原创 2025-05-01 11:32:57 · 2863 阅读 · 0 评论 -
Qt Creator编译后的程序以管理员权限运行实现方式
禁用 UI 自动化权限(除非需要跨进程 UI 操作,否则保持。:强制要求管理员权限(程序启动时弹出 UAC 提示)。声明它需要管理员权限。在 Qt 项目中,您可以通过。Windows 程序可以通过。文件配置,使编译后的程序自动请求管理员权限。:强制要求管理员权限(否则程序无法启动)。//仅仅release版本启用UAC权限。文件,在您的 Qt 项目文件(:尽可能提升权限(但不强制)。:尽可能提升权限(但不强制)。,运行时会自动请求管理员权限。:默认权限(不提升)。:默认权限(不提升)。原创 2025-04-30 09:32:22 · 1038 阅读 · 0 评论 -
Qt实现语言切换的完整方案
对于UI文件中的文本,retranslateUi()会自动处理。所有需要翻译的字符串必须用tr()包裹。语言切换后,需要手动更新动态生成的文本。考虑不同语言文本长度对布局的影响。原创 2025-04-24 00:01:58 · 905 阅读 · 0 评论 -
Qt Creator中自定义应用程序的可执行文件图标
推荐尺寸:256x256、128x128、64x64、32x32、16x16。确保图标文件路径正确,Qt Creator在构建时会将其嵌入可执行文件。在Windows上,构建后可能需要清理并重新构建项目才能看到图标变化。格式的图标文件(推荐使用256x256像素,包含多种尺寸)对于发布版本,图标显示可能需要管理员权限(Windows)可以使用在线工具将PNG转换为ICO格式。将图标文件放在项目目录中(与.pro文件同一目录)确保图标文件安装在标准位置如。文件指定图标和其他应用信息。替换为你的图标文件名。原创 2025-04-23 22:49:04 · 701 阅读 · 0 评论 -
Qt creator 16.0.1 语言家失效解决方法
一、在菜单“工具-->外部”里面没有语言家、更新翻译、发布翻译工具。或者,右键点击ts文件,弹出菜单中选择“Qt语言家”发布翻译 (lrelease)更新翻译 (lupdate)翻译(linguist)原创 2025-04-23 20:48:56 · 923 阅读 · 0 评论 -
Qt界面控件中点击触发处理耗时业务的方法
以上方法都能有效避免UI冻结,保持界面响应流畅。记得管理好线程和对象生命周期,避免内存泄漏。提供取消机制,特别是长时间运行的任务。非UI线程中不能直接操作界面组件。显示进度反馈,提升用户体验。跨线程通信使用信号槽或。原创 2025-04-21 12:52:12 · 234 阅读 · 0 评论 -
使用 PCL 和 Qt 实现点云可视化与交互
下面我将介绍如何结合点云库(PCL)和Qt框架(特别是QML)来实现点云的可视化与交互功能,包括高亮选择等效果。原创 2025-04-20 12:25:33 · 608 阅读 · 0 评论 -
QT 文件和文件夹操作
Windows不敏感,Linux/Mac敏感。,QT会自动转换为平台正确的分隔符。检查并创建文件(避免覆盖)频繁访问的文件信息可以缓存。处理大文件时避免使用。批量文件操作考虑使用。原创 2025-04-18 20:36:09 · 543 阅读 · 0 评论 -
Qt中读写结构体字节数据
在Qt中读写结构体字节数据通常涉及将结构体转换为字节数组(QByteArray)或直接从内存中读写。原创 2025-04-18 20:21:17 · 847 阅读 · 0 评论 -
Windows上使用Qt搭建ARM开发环境
进行 ARM Linux 交叉编译(例如针对树莓派或嵌入式设备),需要配置 交叉编译工具链 和 Qt for ARM Linux。CMAKE_C_FLAGS: 根据目标 ARM 架构调整(如 armv7-a + hard float)。TOOLCHAIN_PREFIX: 工具链前缀(如 arm-linux-gnueabihf)。CMAKE_SYSTEM_NAME: 目标系统(Linux 表示 ARM Linux)。或从设备供应商获取 SDK(如 Yocto 生成的 Qt 库)。原创 2025-04-09 10:58:45 · 1173 阅读 · 0 评论 -
CMake使用
CMake是一个跨平台的自动化构建系统,用于管理软件构建过程。原创 2025-04-08 20:29:52 · 972 阅读 · 0 评论 -
Qt子模块的功能介绍
tsQtWidgetsQtChartsQtNetworkQtQuickQtMqtt(注意ARM需交叉编译Chromium)QtChartsQt3D使用qmake或CMake时,通过添加依赖(如。原创 2025-04-08 14:40:03 · 1424 阅读 · 0 评论 -
Qt 交叉编译详细配置指南
编辑# 修改以下内容匹配你的工具链# 目标平台设置# 链接器标志。原创 2025-04-08 10:31:46 · 1086 阅读 · 0 评论 -
Qt的稳定版本与下载
Qt的稳定版本主要包括Qt5和Qt6的长期支持(LTS)版本。原创 2025-04-07 22:26:05 · 2022 阅读 · 0 评论 -
QT ARM开发板调试
QT 应用程序在 ARM 开发板上完全可以进行调试。原创 2025-04-07 15:52:27 · 491 阅读 · 0 评论 -
QT ARM 开发环境搭建
搭建 QT ARM 开发环境主要包括主机环境配置、交叉编译工具链安装、QT 库交叉编译和 QT Creator 配置几个步骤。原创 2025-04-07 15:30:23 · 1368 阅读 · 0 评论 -
Qt Quick 与 Qt 版本匹配关系
Qt安装包默认包含匹配的Qt Quick版本qmlsceneqml工具自动使用对应版本运行时:支持Qt Quick 2.x(2.0-2.15):仅支持Qt Quick 6.x(不向下兼容)原创 2025-04-06 18:03:45 · 751 阅读 · 0 评论 -
osgQt创建场景数据并显示
使用 osgQt 创建并显示场景的核心流程:1、配置Qt项目配置(*.pro文件)2、创建场景数据。3、初始化Viewer与QT窗口绑定。原创 2025-04-06 15:22:21 · 206 阅读 · 0 评论 -
vs环境中编译osg以及osgQt
3.1 打开cmake,填入source目录以及build目录,点击configure,选择VS2015-64位编译器,configure完成后,按照要求配置(curl、zlib等库路径选择)进行再次configure,直到没有红色高亮显示。4.1 打开cmake,填入source目录以及build目录,点击configure,选择VS2015-64位编译器,configure完成后,按照要求配置(3.2 打开工程编译,生成依赖库,编译执行“INSTALL”,安装头文件和库文件到指定目录下。原创 2025-04-05 22:47:26 · 1247 阅读 · 0 评论