当前位置: 首页 > news >正文

qt:QList和ExtraSelection

文章目录

    • QList
      • 1.概述
      • 2.内部实现与性能
      • 3.基本用法
    • ExtraSelection
      • 1.概述
      • 2.示例

QList

1.概述

在Qt框架中,QList 是一个容器类,它在内部实现上类似于一个数组,但也提供了一些链表的特性。QList 的设计旨在提供一个在多数情况下既高效又方便的通用列表容器。用于存储元素列表。它提供了丰富的功能,包括添加、移除、访问元素等。同时,它以模板类的形式提供,能安全、高效地存储和管理任何同类型的数据集合。

2.内部实现与性能

存储结构:现代 QList 将元素存储在一段连续的相邻内存位置中,类似数组,但是与普通数组不同,它可以增长和和缩减,自动管理内存分配。

性能特点:

  • 基于索引的随机访问速度快(O(1)复杂度),在列表末尾的追加(append)操作速度飞快。

  • 由于它提供了一些链表的特性,在列表中间或开头插入或删除元素时,会数组插入、删除更高效

  • 内存占用低,隐式共享,当你复制一个QList时,不会立即复制所有元素,而是共享相同的数据,仅在修改时才进行实际的复制

3.基本用法

头文件

#include<QList>

实例化

QList<int>list;

添加元素

list.append(1);list.append(2);

访问元素

list[0]; list.at(1);

删除元素

list.removeAt(1);//删除索引 i 处的元素list.removeOne(20);//删除一个值为20的元素list.clear();//清空所有元素

ExtraSelection

1.概述

QTextEdit::ExtraSelection是 Qt 框架中的一个辅助结构体,它的主要作用是在 QTextEdit 或 QPlainTextEdit 这类文本编辑器控件中,为指定的文本区域提供临时的、附加的高亮显示或特殊格式

ExtraSelection 结构体非常简单,只包含两个核心成员变量:
cursor:这是一个 QTextCursor 对象,用来精准定位你想要应用格式的文本范围,比如连续的几个单词、一整行、甚至是文档中的某个矩形区域

format:这是一个 QTextCharFormat 对象,用来定义你想要应用的具体样式,比如文字的颜色、背景色、甚至字体是否加粗等
QTextCharFormat函数可在QT帮助中索引

2.示例

//设置当前行高亮QList<QTextEdit::ExtraSelection>extraselections;QTextEdit::ExtraSelection ext;//获取当前行ext.cursor=ui->textEdit->textCursor();//颜色QBrushqbrush(Qt::lightGray);//设置样式ext.format.setBackground(qbrush);//设置文本背景色ext.format.setProperty(QTextFormat::FullWidthSelection,true);//添加extraselections.append(ext);ui->textEdit->setExtraSelections(extraselections);
http://www.jsqmd.com/news/775044/

相关文章:

  • Armv9-A架构Cortex-A720核心寄存器解析与应用
  • Automation1Studio 界面七 Transformation(坐标变换)​ 设置界面
  • YOLO11涨点优化:损失函数优化 | 引入EIoU与Focal Loss结合,同时解决包围框宽高比例与正负样本不平衡问题
  • 低空经济新蓝海:一网统管平台如何支持“低空+城市治理“?
  • 软件测试生产验证缺陷常见流程
  • 2026AI大模型API代理站亲测:五大平台硬核数据横评,为开发者提供权威选型指南
  • 3分钟掌握iOS位置模拟神器:iFakeLocation跨平台实战指南
  • 麻省理工新工具:虚拟小提琴提前试音效,助力制琴师设计
  • 找不到童年游戏?小霸王游戏机珍藏84合1免费下载一键搞定
  • 静态路由拓展配置实验
  • 量子深度学习硬件平台与软件工具解析
  • ChanlunX:通达信缠论分析插件的技术实现与应用实践
  • BuildingAI 上部署自定义工作流智能体:5 个实用技巧
  • 【独家首发】奇点大会闭门报告实录:AISMM在金融/医疗/制造三大场景的ROI测算模型(含2027Q1商用倒计时)
  • SGR Agent Core:基于Schema-Guided Reasoning的深度研究智能体框架解析
  • TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
  • 量子计算四支柱协议:评估量子优势的系统方法论
  • OpenClaw安全审计工具:本地优先、低依赖的自动化配置与密钥泄露检测
  • 3大技术突破:Whisky如何让Windows程序在macOS上原生运行
  • 融资“狂飙”:月之暗面半年吸金超39亿美元,DeepSeek估值450亿“等梁文锋点头”
  • 前端开发选 VSCode 还是 Sublime Text 配置更灵活?
  • 基于腾讯地图Map Skills与LLM Agent的端到端智能出行规划系统设计与实现
  • AgentRAG vs 传统RAG:AI检索的“智慧”升级
  • AISMM落地学术界仅剩90天:3大不可逆趋势、5类高危研究陷阱与2026必争技术制高点
  • RK3588 MIPI-CSI摄像头调试避坑指南:从硬件连接到闪光灯驱动修改
  • YOLO11涨点优化:Loss魔改 | Alpha-IoU 暴力替换CIoU,通过幂指数调节放大高IoU样本的梯度,提升定位精度
  • 书匠策AI:毕业论文的“智慧工匠”,打造学术精品的秘密武器!
  • Minimax M2.7 多模态应用落地实战指南
  • 智能体多模型升级调度:成本感知与审查门控的工程实践
  • QMC解密神器:3分钟解锁QQ音乐加密音频的完整指南