- 博客(110)
- 收藏
- 关注
原创 【QT】界面优化--QSS
本文详细介绍了Qt样式表(QSS)的基本语法和使用方法。QSS类似于CSS,用于设置Qt控件的外观样式。主要内容包括:1)QSS设置方式(指定控件、全局样式、文件加载);2)选择器类型(类型、ID、并集、子控件、伪类);3)样式属性和盒模型概念;4)常见控件的样式设置示例(按钮、复选框、输入框等);5)通过登录界面案例展示综合应用。QSS虽然功能不如CSS全面,但能为Qt应用程序提供灵活的美化方案。。
2025-06-19 23:45:19
934
原创 【QT系统相关】QT网络
本文介绍了Qt网络编程的基本实现方法,包括UDP、TCP和HTTP三种通信方式。主要内容为:1) UDP通信通过QUdpSocket实现回显服务器和客户端的交互;2) TCP通信使用QTcpServer和QTcpSocket构建回显服务,支持多客户端连接;3) HTTP通信采用QNetworkAccessManager发送GET/POST请求。
2025-06-15 22:09:51
776
原创 【QT系统相关】QT多线程
本文详细介绍了Qt框架下的多线程编程实现方法。主要内容包括:1) 通过继承QThread类创建自定义线程,重写run()函数实现线程任务;2) 线程安全机制:使用QMutex/QMutexLocker实现互斥锁保护共享资源,QReadWriteLock处理读写并发,QWaitCondition实现线程同步,QSemaphore控制资源访问数量;3) 开发注意事项:线程函数禁止直接操作UI界面,需通过信号槽机制与主线程通信。
2025-06-15 10:36:46
1186
原创 【QT系统相关】QT文件
Qt提供了跨平台的文件操作能力,通过QFile等I/O设备类实现文件读写、信息获取等功能。QFile继承自QIODevice,支持read()/write()等操作,使用前需open()并指定模式(如ReadOnly)。QFileInfo可获取文件名、大小、修改日期等信息。示例展示了文件读写实现:包括打开文件对话框、读取内容显示、追加写入等操作,以及一个简单记事本程序的开发(支持打开/保存文件)。
2025-06-13 23:36:12
1243
原创 【QT系统相关】Qt 事件
本文介绍了Qt中的事件处理机制,主要包括键盘事件、鼠标事件、定时器、事件分发器和事件过滤器等内容。文章详细讲解了如何重写事件处理函数来响应键盘按键(单个按键和组合键)、鼠标操作(点击、移动、滚轮等),以及定时器的两种实现方式(QTimerEvent和QTimer类)。此外,还阐述了事件分发器的工作流程和事件过滤器的使用。
2025-06-12 23:20:36
904
原创 【QT】窗口详解
本文详细介绍了Qt中QMainWindow窗口组件及其功能实现。主要内容包括:1. 菜单栏(QMenuBar)的创建和菜单项(QAction)的添加;2. 工具栏(QToolBar)的设置与属性控制;3. 状态栏(QStatusBar)的消息显示;4. 浮动窗口(QDockWidget)的创建和停靠设置;5. 各类对话框的使用。
2025-06-11 22:02:22
984
原创 【QT控件】布局管理器
本文详细介绍了Qt中的布局管理器机制,包括垂直布局(QVBoxLayout)、水平布局(QHBoxLayout)、网格布局(QGridLayout)和表单布局(QFormLayout)四种核心布局方式。通过代码示例展示了如何创建布局、添加控件、设置行列比例和嵌套布局,并讲解了使用Spacer调整控件间距的方法。文章重点对比了布局管理器与传统绝对定位的优势,强调布局管理器能自动计算控件位置和尺寸,实现窗口自适应调整。
2025-06-09 10:00:00
1199
原创 【QT控件】容器类控件
本文介绍了Qt中的两种界面组件:QGroupBox分组框和QTabWidget标签页控件。QGroupBox用于将相关控件分组显示,主要起美化作用,QTabWidget可实现多标签页管理
2025-06-08 22:21:00
847
原创 【QT控件】多元素控件详解
本文介绍了Qt中三种常用控件ListWidget、TableWidget和TreeWidget的使用方法。ListWidget用于创建纵向列表,支持添加、选中和删除列表项;TableWidget用于构建表格数据,可以动态增删行列和单元格内容;TreeWidget则用于显示树形结构,支持添加顶层节点和子节点。
2025-06-08 16:43:01
893
原创 【QT控件】输入类控件详解
本文详细介绍了Qt框架中常用输入控件的使用方法,包括QLineEdit(单行文本框)、QTextEdit(多行文本框)、QComboBox(下拉框)、QSpinBox(数字微调框)、QDateTimeEdit(日期时间控件)、QDial(旋钮)和QSlider(滑动条)等。
2025-06-07 22:16:41
1220
原创 【QT控件】显示类控件
本文介绍了Qt中常用控件的使用方法,包括QLabel、QLCDNumber、QProgressBar和QCalendarWidget。
2025-06-05 23:49:01
965
原创 【QT控件】按钮类控件
本文介绍了Qt中三种常用按钮控件的使用方法:1) QPushButton的基本功能及设置图标、快捷键等特性;2) QRadioButton单选按钮的分组和事件处理;3) QCheckBox复选框的状态获取。通过多个代码示例展示了如何创建带图标按钮、实现方向键控制、设置默认选中状态、区分不同事件类型以及使用QButtonGroup进行按钮分组等实用技巧,帮助开发者快速掌握Qt按钮控件的核心功能和应用场景。
2025-06-04 22:59:34
880
原创 【QT控件】QWidget 常用核心属性介绍 -- 万字详解
本文介绍了Qt框架中QWidget控件的核心属性和使用方法。主要内容包括:1. 控件基本概念:Widget是构成GUI界面的基本元素,Qt内置大量常用控件并支持自定义。2. QWidget常用核心属性详解!
2025-06-02 23:17:26
942
原创 【从零开始学习QT】信号和槽
信号与槽是Qt特有的消息通信机制,实现对象间的松耦合交互。信号对应事件,槽则是响应函数。通过connect()建立关联,支持一对一、一对多、多对一等多种连接方式。特性包括:1. 信号只需声明,槽需实现;2. 支持带参数和重载;3. 可通过Lambda表达式定义槽;
2025-06-01 19:00:08
824
2
原创 【从零开始学习QT】快捷键、帮助文档、Qt窗口坐标体系
本文介绍了QtCreator常用快捷键和帮助文档的三种调用方式。同时简要说明了Qt窗口坐标体系的特点,并演示了通过帮助文档查询QPushButton控件的方法。
2025-05-29 21:09:56
617
原创 【从零开始学习QT】Qt 概述
Qt是一个跨平台的C++图形用户界面框架,支持Windows、Linux、macOS等多种操作系统及Android、iOS移动平台。它提供可视化开发工具,简化了应用程序开发流程,支持拖拽式UI设计。Qt发展历程经历了多次收购,如今已成为功能全面的开发工具,特别适用于桌面应用、移动应用和嵌入式系统开发。文章详细介绍了Qt的安装配置过程、开发环境QtCreator的界面功能,以及如何创建简单项目。
2025-05-28 22:30:21
1322
原创 【Boost搜索引擎】构建Boost站内搜索引擎实践
本项目实现了一个基于C++的搜索引擎,技术栈包括C++11、STL、Boost、Jsoncpp、cppjieba和cpp-httplib,运行环境为Ubuntu 22.04。项目通过正排索引和倒排索引实现文档的快速检索,正排索引存储文档内容,倒排索引通过分词将关键词映射到文档ID。项目还实现了数据清洗模块,去除HTML标签并提取有效内容。搜索模块通过分词、倒排索引查找、结果合并排序等步骤,最终返回JSON格式的搜索结果。前端使用HTML、CSS和JavaScript实现,通过HTTP请求与后端交互,展示搜索
2025-05-16 21:11:51
1116
原创 【Linux】进程间通信(匿名管道和进程池)
进程间通信(IPC,Inter-Process Communication)是操作系统中不同进程之间交换数据、协调工作的核心机制。由于每个进程拥有独立的内存空间,彼此隔离,因此需要特定的技术手段实现跨进程协作。进程间通信(IPC)是指运行在同一台计算机或不同计算机上的多个进程之间进行数据交换和通信的技术。由于每个进程都有自己的地址空间,它们无法直接访问彼此的数据,因此需要通过特定的机制实现通信。IPC是操作系统和多进程编程中的一个重要概念,广泛应用于分布式系统、多任务操作系统以及各种应用程序之间。
2025-04-17 21:43:33
1100
原创 排序(插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序)
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。数据元素全部放在内存中的排序。数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。
2025-04-17 14:08:44
1035
原创 算法专题(八):分治-归并排序
本篇通过讲解 排序数组、LCR 170.交易逆序对的总数(数组中的逆序对)、计算右侧小于当前元素的个数、翻转对 ,四道题目来讲解分治-归并算法!
2025-04-06 20:20:33
680
原创 【C++】从零实现Json-Rpc框架(2)
本篇文章是对第三方库介绍和使用(JsonCpp库,Muduo库)和C++11 异步调用的介绍!
2025-04-05 21:15:00
2006
1
原创 【C++】从零实现Json-Rpc框架(1)
RPC(Remote Procedure Call)远程过程调用,是一种通过网络从远程计算机上请求服务,而不需要了解底层网络通信细节。RPC可以使用多种网络协议进行通信, 如HTTP、TCP、UDP等, 并且在TCP/IP网络四层模型中跨越了传输层和应用层。简言之RPC就是像调用本地方法一样调用远程方法。
2025-04-05 19:00:00
988
原创 算法专题(七):分治-快排
本文通过leetcode的四道题目,颜色分类、排序数组、数组中第K个最大元素、LCR 159. 库存管理 III,来讲解分治-快排算法!
2025-03-23 13:50:35
810
原创 【Linux】Ext系列文件系统(下)
我们想要在硬盘上储文件,必须先把硬盘格式化为某种格式的文件系统,才能存储文件。文件系统的目的就是组织和管理硬盘中的文件。由于 ext2 文件系统具有较高的稳定性和可靠性,被广泛应用于 Linux 服务器中,用于存储系统文件、用户数据、应用程序等。
2025-03-19 12:10:55
977
原创 【Linux】Ext系列文件系统(上)
文件=属性+内容。被打开的文件通过基础IO到内存中,没有被打开的文件在磁盘中。文件在磁盘上最基本的诉求就是被用户找到,这也是文件系统最基本的诉求。
2025-03-17 20:00:00
971
原创 【拓展学习】deepseek从入门到精通
DeepSeek-R1,由深度求索公司开发的智能助手,擅长通过思考树框架进行深度逻辑推理。能流畅使用多语言提供信息查询、数据分析、知识解答等服务,覆盖科技、教育、生活等广泛领域
2025-03-16 11:50:16
1076
原创 【Linux】缓冲区
缓冲区是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。
2025-03-09 14:21:54
1080
1
原创 【Linux】详谈 基础I/O
在windows中是文件的东西,它们在linux中也是文件;其次一些在windows中不是文件的东西,比如进程、磁盘、显示器、键盘这样硬件设备也被抽象成了文件,你可以使用访问文件的方法访问它们获得信息。
2025-03-09 12:58:47
883
1
原创 【Linux】进程地址空间和虚拟地址空间
进程地址空间是操作系统为每个进程分配的独立内存区域,用于存储代码、数据、堆和栈等信息。通过虚拟内存机制,操作系统实现了进程之间的内存隔离,提高了系统的安全性和稳定性。
2025-03-01 12:45:31
939
1
原创 【linux】详谈 环境变量
在 Linux 系统中,环境变量是一种动态的命名值对,用于配置和影响程序的运行环境。它们为程序提供了系统级别的信息,例如用户的家目录、默认的文本编辑器、系统路径等。它们为程序提供了灵活的配置方式,同时也简化了系统的管理。
2025-03-01 10:53:39
1232
2
原创 算法专题(四):前缀和
本篇文章通过【模版】前缀和、【模版】二维前缀和、寻找数组的中心下班、除自身以外数组的乘积、和位K的子数组、和可被K整除的子数组、连续数组、矩阵区域和,这八道题目讲解前缀和算法!
2025-02-21 19:17:51
1050
1
原创 【Linux】详谈 进程控制
本文将系统介绍进程控制的基本要素,包括进程创建, 进程终止, 进程等待等方面。深入理解进程创建的相关知识, 帮助更好的构建知识架构!进程控制是操作系统中的一个重要主题,主要涉及如何管理和调度进程以确保计算机系统的高效运行!
2025-02-15 22:32:09
1466
1
原创 【Linux】冯诺依曼体系结构和操作系统概念理解
冯诺依曼体系是现代计算机的基本架构。主要特点是存储程序控制,用二进制表示数据和指令,指令和数据分开存储且顺序执行。由运算器、控制器、存储器、输入设备、输出设备组成。1946 年由冯・诺依曼提出,随着第一台 “存储程序” 计算机 EDVAC 诞生奠定基础。该体系奠定现代计算机基础,推动计算机技术发展,促进计算机应用的普及。截至目前,我们所认识的计算机,都是由一个个的硬件组件组成• 输入单元:包括键盘, 鼠标,扫描仪, 写板等• 中央处理器(CPU):含有运算器和控制器等。
2025-02-06 11:34:01
782
原创 【Linux】自动化构建-make/Makefile
• make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。• make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建。
2025-01-26 12:13:29
868
1
原创 【Linux】gcc/g++的使用
GCC(GNU Compiler Collection)是一个开源的编译器集合,支持多种编程语言,其中 gcc 和 g++ 是最常用的两种编译器。gcc:用于编译 C 语言程序。它是编译 C 代码的主要工具,也能处理一些其他语言(如 Objective-C、Fortran 等),但默认用于 C。g++:用于编译 C++ 程序。它不仅能编译 C++ 代码,还会自动链接 C++ 标准库(如 libstdc++)。默认链接库:g++ 自动链接 C++ 标准库,gcc 需要手动处理。
2025-01-26 11:40:00
972
1
原创 算法专题(三):二分查找
请大家一定不要觉得背下模板就能解决所有二分问题(不要死记模版)。二分问题最重要的就是要分析题意,然后确定要搜索的区间,根据分析问题来写出二分查找算法的代码。1. 关于什么时候用三段式,还是二段式中的某一个,一定不要强行去用,而是通过具体的问题分析情况,根据查找区间的变化确定指针的转移过程,从而选择一个模板。
2025-01-21 21:37:47
1276
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人