QT开发笔记
一、基础概念QWidget继承 QObject所有窗口控件的基类。凡是看得见的界面组件都是 QWidget。窗口独立弹窗setWindowFlags子控件嵌入在其他窗口内部的组件。二、Qt 项目结构Qt Widget新建 Qt Widget Application自动生成 4 个核心文件main.cpp程序入口#includeQApplication#includemainwindow.hintmain(intargc,char*argv[]){QApplicationa(argc,argv);//应用程序对象必须有且仅有一个MainWindow w;w.show();//显示窗口returna.exec();//启动事件循环等待鼠标、按钮等事件}mainwindow.h窗口头文件mainwindow.cpp窗口实现mainwindow.uiUI 设计师界面文件三、核心信号与槽 Signal Slot对象之间解耦通信机制Qt 灵魂。signal 信号事件发生发出通知只有声明没有实现emit发射slot 槽响应信号的函数可以普通成员函数、lambdaconnect 连接绑定信号和槽//Qt5函数指针写法推荐编译检查connect(ui-pushButton,QPushButton::clicked,this,MainWindow::slotFunc);//Lambda匿名槽简单逻辑首选connect(ui-pushButton,QPushButton::clicked,this,[](){ui-label-setText(点击了);});参数规则信号参数 槽参数参数类型必须对应。第五个参数连接类型跨线程必须用Qt::QueuedConnection。四、基础控件QWidget 体系显示控件QLabel显示文字、图片、GIFQPushButton普通按钮QRadioButton单选框QCheckBox复选框QToolButton工具栏图标按钮输入控件QLineEdit单行输入框密码输入QTextEdit多行富文本QPlainTextEdit纯文本日志QComboBox下拉选择框QSpinBox/QDoubleSpinBox数字输入QSlider滑动条QProgressBar进度条容器控件装其他控件QGroupBox分组框QTabWidget标签分页QStackedWidget堆叠页面同一位置切换界面QScrollArea滚动区域内容超出出现滚动条Qstring字符处理Qt 里处理字符串不用std::string用QString内部是 UTF-16 编码天生支持中文功能也更强。// 格式化 —— arg() 占位符类似 printf 的 %d但更安全timeLabel_-setText(QString(%1 / %2).arg(current).arg(timeSlider_-maximum()));// 结果类似 5 / 99// 数字格式化 —— 保留 1 位小数speedValue_-setText(QString::number(speedKmH,f,1) km/h);// 结果类似 36.4 km/h// 字节流转 UTF-8 字符串处理网络收到的数据QString msgQString::fromUtf8(data).left(50);// 日期时间格式化QString([%1] ...).arg(QDateTime::currentDateTime().toString(HH:mm:ss));// 转为 std::string 给日志/printf 用configPath.toStdString().c_str();为什么用arg()而不是sprintfarg()是类型安全的自动处理类型转换不会像sprintf那样可能因为格式串和参数不匹配而崩溃或内存越界。Qt 容器类Qt 提供了自己的容器QVector、QList、QPolygonF等和 STL 的std::vector类似但有个关键区别隐式共享Copy-on-Write写时复制。隐式共享是什么意思当你把一个QVector赋值给另一个a b时它不会立刻拷贝全部数据而是两个对象共享同一份内存只有当你真的去修改其中一个时才真正复制一份。这大大节省了内存和拷贝时间——尤其适合跨线程通过信号槽传大数据。

相关新闻

Selenium Web自动化测试中用于切换浏览器窗口的代码,作用是切换到最新打开的浏览器窗口

Selenium Web自动化测试中用于切换浏览器窗口的代码,作用是切换到最新打开的浏览器窗口

Selenium Web自动化测试中用于切换浏览器窗口的代码,作用是切换到最新打开的浏览器窗口。 在Selenium的窗口切换逻辑中,driver.window_handles会返回当前所有打开窗口的句柄列表,列表下标遵循数组规则从0开始计数,0代表第一个打开…

2026/8/26 18:39:17 阅读更多 →
D11 | Embedding 模型选型 + 文档切片策略

D11 | Embedding 模型选型 + 文档切片策略

文章目录 D11 | Embedding 模型选型 + 文档切片策略 写在前面 一、为什么 Embedding + 切片决定 RAG 质量 1.1 一个真实场景 1.2 Embedding 模型决定"语义"层 1.3 切片策略决定"粒度"层 二、5 大主流 Embedding 模型横评 2.1 全景对比表 2.2 详细评测 ① O…

2026/8/26 18:39:17 阅读更多 →
Apache Paimon 源码导读(一):MySQL CDC Action 从命令行到任务创建

Apache Paimon 源码导读(一):MySQL CDC Action 从命令行到任务创建

目录一、这段源码处在整个同步流程的哪一步?二、从命令行到 Action:先看完整调用链三、六个核心类分别负责什么?四、FlinkActions:统一入口,只负责启动五、ActionFactory:根据命令名称找到具体工厂1. 统一 …

2026/8/26 18:38:17 阅读更多 →

最新新闻

后端技术栈学习路径:先精通一门再拓宽视野

后端技术栈学习路径:先精通一门再拓宽视野

如果你问一个刚入行的后端工程师,最焦虑的是什么,答案多半不是某个算法题,而是“技术栈太多,不知道学什么”。GitHub上每三天冒出一个新框架,招聘网站上Java、Go、Python、Node.js、Rust一字排开,于是很多人…

2026/8/26 20:35:57 阅读更多 →
I2C UI实战:从选型到Linux调试,打造小屏交互面板

I2C UI实战:从选型到Linux调试,打造小屏交互面板

最近在整理一个控制器的前面板项目,项目名就叫"I2C User Interface (I/O)"。整个用户界面只依赖SDA和SCL两条信号线,LCD显示、旋钮编码器、触摸板、EEPROM配置存储全部挂在这条I2C总线上。刚开始我心里也打鼓:I2C不是用来挂传感器和…

2026/8/26 20:35:57 阅读更多 →
AI Agent双层记忆架构:基于PostgreSQL与向量检索的工程实践

AI Agent双层记忆架构:基于PostgreSQL与向量检索的工程实践

1. 项目概述:为什么Agent需要“双层记忆”?最近在折腾AI Agent开发的朋友,估计都遇到过类似的头疼事:你跟Agent聊得好好的,让它帮你分析一份文档、写段代码,它当时表现得头头是道。可等你过几天再打开一个新…

2026/8/26 20:35:57 阅读更多 →
不再只用 Kimi Work 后,办公任务该怎么接?先按工作流选工具

不再只用 Kimi Work 后,办公任务该怎么接?先按工作流选工具

找寻“Kimi Work替代方案”的那些人, 一般而言并非仅仅是想要去换一个聊天模型而已了。更为常见的矛盾有, 到底本地任务可不可以稳定地去执行, 资料以及产物是不是方便进行管理, 文档跟表格能不能够直接予以交付, 还有办公之外偶尔冒出来的脚本或者设计任务应当由谁来承接呢。所…

2026/8/26 20:34:56 阅读更多 →
Chrome翻译功能导致接口数据被篡改:前端数据污染的根源与防御方案

Chrome翻译功能导致接口数据被篡改:前端数据污染的根源与防御方案

1. 问题现象与根源剖析最近在排查一个线上问题时,遇到了一个相当“诡异”的场景:用户反馈在某个表单提交后,页面显示的数据和实际后台存储的数据对不上。比如,用户明明输入的是“测试商品”,提交后页面回显却变成了“T…

2026/8/26 20:34:56 阅读更多 →
用SpringBoot快速构建RESTAPI的一篇实践指南

用SpringBoot快速构建RESTAPI的一篇实践指南

一个 Controller 里堆了三百行代码,Service 层空转,异常处理全靠 try-catch 往日志里吐——这是我在无数个“快速构建”的 Spring Boot 项目里看到的真实景象。REST API 的搭建门槛被 Spring Boot 压得极低,低到很多人误以为“能跑”就是“够…

2026/8/26 20:34:56 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →