Qt扫盲-QComboBox理论总结

news2024/11/24 12:23:05

QComboBox理论总结

    • 1. 简述
    • 2. 显示内容
    • 3. 信号
    • 4. 常用功能
    • 5. model/view 使用

1. 简述

QComboBox 提供了一种以占用最小屏幕空间的方式向用户显示选项列表的方法。QCombox是显示当前项目的选择小部件,可以弹出可选项目的列表。QComBox其实就是一个下拉列表。选择的项目内容就会显示在外面,其他项目会被隐藏,同时在下拉时之前选择的项目位置会被标记好,可以理解显示的项目其实是一个之前选择位置项目的副本。这个控件其实预制很很多选项给用户选择,减少手动输入的麻烦。当然哈,QComBox可以是可编辑的,允许用户修改列表中的每个项目。但是这个不会影响到预先设置项目。

就像下面这种用法,很多能预制的就不要手写啦
在这里插入图片描述

这篇博文主要是还是不是使用 model/view 版本的介绍哈。其实就是QComBox的基础简述。

2. 显示内容

QComBox可以包含像素图以及字符串;可以用 insertItem() 和 setItemText() 的相关重置函数来插入带图标的列表项
在这里插入图片描述

还可以设置QComBox 可以编辑。对于可编辑的QComBox,提供了函数 clearEditText(),用于清除显示的字符串而不更改QComBox的内容。(其实就是只是修改当前的显示内容,之前预制的项目还是不会被修改的呐)
在这里插入图片描述

3. 信号

如果QComBox的当前项发生变化,则发出两个信号,urrentIndexChanged() 和 activated()。无论更改是通过编程方式还是通过用户交互完成的,始终发出 currentIndexChanged(),而 active() 仅在更改由用户交互引起时发出。当用户突出显示QComBox弹出列表中的项目时,将发出 highlighted() 信号。所有三个信号都存在两个版本,一个带有QString参数,另一个带有int参数。如果用户选择或突出显示像素图,则仅发出 int 信号。每当可编辑QComBox的文本发生更改时,都会发出 editTextChanged() 信号。

QComBox的信号表

信号含义
activated(int index)QComBox的当前项发生变化,仅在更改由用户交互引起时发出,说那个列表项位置被激活了
currentIndexChanged(const QString &text)combox位置发生后,发生的方式是通过编程方式、或通过用户交互都会触发,携带一个当前项的 text
currentIndexChanged(int index)combox位置发生后,发生的方式是通过编程方式、或通过用户交互都会触发,携带一个当前项的 index
currentTextChanged(const QString &text)当选择项的文字和上一次选择项不同是,携带一个当前项的 text
editTextChanged(const QString &text)每当可编辑QComBox的文本发生更改时
highlighted(int index)就是下拉列表显示的时候,我们可以用 上 下键 移动那个选择的项目时发射这个信号。
textActivated(const QString &text)这个没用过
textHighlighted(const QString &text)这个没用过

4. 常用功能

当用户在可编辑QComBox中插入新项目(字符串)的时候,还是有一个插入的策略。默认策略是 InsertAtBottom,但您可以使用 setInsertPolicy() 更改此设置。

策略含义
ConstantDescription
QComboBox::NoInsert不会插入
QComboBox::InsertAtTop顶部插入
QComboBox::InsertAtCurrent当前项将被替换输入的新字符串
QComboBox::InsertAtBottom后的字符串将被插入到QCombox中的最后一项。
QComboBox::InsertAfterCurrent新的字符串插入当前项的后面
QComboBox::InsertBeforeCurrent新的字符串插入当前项的前面
QComboBox::InsertAlphabetically按照首字母顺序的插入字符串

可以使用 QValidator 将输入限制为可编辑的QComBox;参见 setValidator()。默认情况下,接受任何输入。

QComBox提供了很多好用的功能。

  • 可以使用插入单个、多个Item,例如 insertItem() 和 insertItems()
  • 可以使用 setItemText() 修改项目
  • 可以使用 removeItem() 删除项目
  • 可以使用 clear() 删除所有项目
  • 当前项的文本由 currentText() 返回,编号项的文本与 text() 一起返回
  • 可以使用 setCurrentIndex() 设置当前项
  • QComBox中的项目个数由 count() 返回
  • 可以使用 setMaxCount() 设置的最大项目数
  • 还可以用 setEditable() 是否可编辑 等等

对于可编辑的QComBox,您可以使用 setCompleter() 设置自动补全,就是输入一部分内容,就显示一个可能选择列表,等后面专门用 QCompleter 来完成

5. model/view 使用

QComboBox 使用模型/视图框架作为其弹出列表并存储其项目。默认情况下,QStandardItemModel 存储项目,QListView 子类显示弹出列表。这个我后面会把Model/View和这个连在一起重新梳理下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/86958.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

做短视频开直播要不要买流量?

我是卢松松,点点上面的头像,欢迎关注我哦! 做短视频要不要买流量,开直播要不要买流量,买了流量以后是不是就要一直买,不买就没有免费流量了? 在这儿给大家普及一下这件事: 在买流量之前呢&…

一种多臂PEG衍生物——8-Arm peg-Biotin,8-Arm PEG-Biotin,八臂PEG生物素

英文名称:8-Arm peg-Biotin 中文名称:八臂-聚乙二醇-生物素 8臂PEG生物素是一种多臂PEG衍生物,在连接到一个六甘油核心的八个臂的每个末端具有生物素基团。PEG生物素可通过与链霉亲和素和抗生物素结合进行聚乙二醇化,具有高亲和…

python语言Django框架搭建学生信息管理系统

1.系统介绍 本系统是基于Django 2.2.3开发的,面向学生信息管理系统。 系统以学生个体为核心向外拓展诸如宿舍、班级、学生组织等一系列组,诸如请假、签到、通知发布等一系列应用。 计划内实现功能有:班级、学生、宿舍三大项为基础的信息管理系统,早检、晨跑、卫检及相应…

ASFormer:Transformer for Action Segmentation论文阅读笔记

摘要 为了解决动作分割类问题,作者设计了一个高效的基于transformer的动作分割任务模型,ASFormer,该模型具有以下三个特征: (i)由于特征的高局部性,作者明确地引入了局部连通性归纳先验。它将假…

经典文献阅读之--Swin Transformer

0. 简介 Transfomer最近几年已经霸榜了各个领域,之前我们在《经典文献阅读之–Deformable DETR》这篇博客中对DETR这个系列进行了梳理,但是想着既然写了图像处理领域的方法介绍,正好也按照这个顺序来对另一个非常著名的Swin Transformer框架…

Qt-Web混合开发-QWebEnginePage权限管理(3)

Qt-Web混合开发-使用QWebEnginePage打开摄像头演示权限管理🏳️‍🌈 文章目录Qt-Web混合开发-使用QWebEnginePage打开摄像头演示权限管理🏳️‍🌈1、概述🚩2、实现效果🥽3、实现功能🔊4、关键代…

PodSummPreSumm

PodSumm:播客音频摘要 论文地址 简介 最近播客的流行给现有的内容发现和推荐系统带来了巨⼤的机遇和⼀系列独特的挑战。与听音乐不同,播客通常需要听众长时间积极关注。演讲者的演讲风格、幽默类型或制作质量等主观属性可能会影响听众的偏好&#xff…

CVPR2022 | 动作识别框架新范式 STRM,用最小的样本获得最高的精度

论文题目:Spatio-temporal Relation Modeling for Few-shot Action Recognition 论文连接:https://arxiv.org/abs/2112.05132v2 代码连接:https://github.com/Anirudh257/strm 综述 我们提出了一种few-shot动作识别框架STRM,它…

非线性非高斯模型的改进粒子滤波算法(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

unordered_mapunordered_set的应用以及底层实现(哈希表)

文章目录1️⃣unordered系列关联容器unordered_setunordered_map2️⃣底层结构哈希概念哈希冲突哈希函数常见的哈希函数哈希冲突解决闭散列线性探测的实现开散列开散列的概念开散列的实现3️⃣模拟实现unordered_map&&unordered_set哈希表的改造unordered_setunordered…

Improving Convolutional Networks with Self-Calibrated Convolutions

Improving Convolutional Networks with Self-Calibrated Convolutions一、引言二、方法实现一、Self-Calibrated Convolutions二、Instantiations三、实验一、消融实验二、目标检测三、关键点检测论文: http://mftp.mmcheng.net/Papers/20cvprSCNet.pdf代码: http…

CUDA 编程简介(下)

文章目录Memoryshared memoryglobal memoryTransfer Data异步预取Threadsthread blockwarpGPU 性能查看性能测试性能CUDA 流Memory GPU 在 CUDA Mode 下,有多种存储类型: register: 位于 SM 上,共 819281928192 个。作用范围是 th…

01. Web漏洞靶场的搭建

01. Web漏洞靶场的搭建 Web漏洞靶场的搭建(上) 什么是Web安全? 什么是Web Web是互联网的总称,全称为World Wide Web,缩写WWW,即全球广域网,也称为万维网,它是一种基于超文本和HT…

前端入门教程:CSS标准盒模型和怪异盒模型区别

理解盒模型:CSS3 中的盒模型有以下两种:标准盒模型、IE盒子模型(怪异盒模型),盒模型是由4个部分组成,由内向外分别是content(下图蓝色部分)、padding、border、margin盒模型有5个属性: width 元素宽height 元素高borde…

计算机网络题库---第六章应用层

主要选取谢希仁第八版,复习资料,学校期末划重点 (一)课本答案 1.互联网的域名结构是怎样的?它与目前的电话网的号码结构有何异同之处? 答: 2.域名系统的主要功能及域名系统中的本地域名服务器、根域名服…

世界杯竞猜项目Dapp-第三章(ERC20)

ERC20 是标准的以太坊 Token 协议,它也是一个合约代码,只要在该合约内部实现了特定的 6 个方法,就会被系统判定为代币合约,具体总结为:6 个必要接口,2 个必要事件,3 个可选接口,详情…

信贷产品年终总结之客群特征画像

临近年末,围绕信贷产品业务的年终总结,是各家金融机构或科技公司的必要工作内容之一。根据实际业务的数据表现进行汇总分析,不仅为回顾过去业务经营的全貌特点,提供了客观的数据分布描述,而且对后期业务开展的策略制定…

H-03卷积神经网络中卷积的作用与原理

目录 1.前言 2.卷积的作用 3.卷积的参数 3.1 卷积核大小(kernel_size) 3.2 填充(padding) 3.2.1 same 3.2.2 valid 3.2.3 full 3.3 卷积核算子(operator) 3.3.1 Robert 算子 3.3.2 Prewitt算子 …

2023就要你换个方式过新年!富而喜悦一年一渡开启新方式!

过去的一年,你过得怎么样?是否有过艰难的逆流时刻,是否拥有过快乐和满足,又是否得到了成长和收获?富而喜悦2023一年一渡财富流新年主题活动就要给你一个礼物多多!美美的“礼物”活动! 为此&…

艾美捷ichorbio CD4体内抗体,无惧竞争对手

CD4(分化簇4)是一种在辅助T细胞、调节性T细胞、单核细胞、巨噬细胞和树突状细胞表面表达的糖蛋白。CD4与主要组织相容性复合体(MHC)的II类分子相互作用,增强T细胞活化的信号。 艾美捷ichorbio CD4体内抗体-低内毒素&am…