Qt编程基础 | 第三章-控件 | 3.1、组合框

news/2025/3/18 1:45:33/

一、组合框

1.1、定义

QComboBox提供了一种向用户呈现选项列表的方式,以占用最少的屏幕空间。 组合框是一个显示当前项目的选择小部件,可以弹出可选择项目的列表。 组合框可以是可编辑的,允许用户修改列表中的每个项目。 QComboBox 除了显示可见下拉列表外,每个项(item,或称列表项)还可以关联一个 QVariant 类型的变量,用于存储一些不可见数据。如下:

在这里插入图片描述

1.2、属性

下面是组合框常用的属性,如下:

属性功能
count组合框中的项目数
currentData当前项目的数据
currentIndex当前项目的索引
editable是否可以编辑组合框。默认为 false。编辑的效果取决于插入策略
insertPolicy可编辑时插入的项目应出现在组合框中的位置的策略。默认值为 InsertAtBottom,即新项目将出现在项目列表的底部。
maxCount组合框中允许的最大项目数。
maxVisibleItems组合框屏幕上允许的最大项目数,默认为 10。

1.3、成员方法

1.3.1、添加item

两个重载addItem() 函数,第二个版本可以添加图标,两个函数都有一个可选的 QVariant 类型的参数 userData,可以利用这个变量存储用户定义数据。如下:

void addItem (const QString &text, const QVariant &userData = QVariant())
void addItem (const QIcon &icon, const QString &text, const QVariant &userData = QVariant())

1.3.2、默认显示

可以设置默认显示项,如下:

void setCurrentIndex(int index); // 设置默认显示
int currentIndex() const; // 获取当前显示的item对应的index

1.3.3、获取列表项

获取指定列表项对应的索引及数据,如下:

int currentlndex(); //返回当前项的序号,第一个项的序号为0。
QString currentText(); //返回当前项的文本
QVariant currentData(int role = Qt::UserRole); //返回当前项的关联数据
QString itemText(int index); // 返回指定索引号的项的文本
QVariant itemData(int index, int role = Qt%:UserRole); // 返回指定索引号的项的关联数据。
int count(); // 返回项的个数。

1.4、信号

QComboBox 组件上选择项发生变化时,会发射下面这些信号,如下:

void currentIndexChanged(int index)
void currentIndexChanged(const QString &text)
void currentTextChanged(const QString &text)

注意:前两个信号为重载函数,QT5新版的信号槽语法要使用函数指针语法连接到这个信号


http://www.ppmy.cn/news/74507.html

相关文章

用iOS版ChatGPT第一步:手把手带你注册美区Apple ID!(史上最简单)

大家好,我是鸟哥。 前两天ChatGPT官方毫无征兆的上线了iOS版,和网页版的相比功能和响应速度都提升了N个档次,具体看这篇文章:iOS版ChatGPT突然上线!Plus用户笑疯了! 但是呢,目前iOS版只在美区…

【数据结构】--单链表力扣面试题③找链表的中间节点

目录 法一:遍历链表法 法二、快慢指针法 题述:给定一个头结点为head的非空单链表,返回链表的中间节点。如果有两个中间节点,则返回第二个中间节点。 示例1: 输入:【1,2,3,4,5】 输出:此链表…

某书最新版X-s(2023/5/23更新)

前不久刚写过xhs的x-s, 前几天听一些小伙伴说又更新了,我二话不说还按原先的逆向思路,直接搜function sign,开始施展补环境大法。。。 一顿无用的折腾,补完后,测试发现死活不成功,这真是离了大谱了。 对比了一下,通过补环境,sign生成的x-s: 浏览器的x-s: 很明显…

类似于ChatGPT的优秀应用notion

notion 是一款流行的笔记应用。不过功能实际远超笔记,官方自己定义是:“将笔记、知识库和任务管理无缝整合的协作平台”。其独特的 block 概念,极大的扩展了笔记文档的作用,一个 block 可以是个数据库、多媒体、超链接、公式等等。…

一、11.C内存分配/堆栈

C内存分配/堆栈 01.C内存分配❤️ #include <stdio.h>const int g_A = 10; //常量区 int g_B = 20; //数据段 static<

基于SSM+JSP的大学生社团管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

档案室漏水检测控制的类型和感应漏水线的规格

一、漏水绳的类型 漏水绳的类型有两种&#xff0c;一种是区域式漏水绳&#xff0c;搭配漏水控制器&#xff0c;对漏水异常秒级反应、报警。但是仅仅是对有漏水的情况进行监控&#xff0c;无法给出具体的位置&#xff0c;还需要工作人员的进一步排查。 还有一种是定位式漏水检…

旅游网站定位规划简介

一、地区性&#xff1a;让此网站成为中国旅游门户&#xff1b; 二、权威性&#xff1a;通过与各协会的合作&#xff0c;定格使此站的行业权威性&#xff1b; 三、包涵的范围&#xff1a;集成了新闻发布管理、网站内容管理、酒店预订管理、旅游线路系统线路管理、会议预 订管理、…