【qt】下拉列表组件

下拉列表组件

  • 一.Combo Box
    • 1.可以直接双击编辑下拉内容
    • 2.代码初始化下拉内容
    • 3.一次性添加多个下拉内容
    • 4.下拉框手动编辑
    • 5.下拉内容添加附加值
    • 6.下拉添加图标
    • 7.获取下拉值
  • 二.总结

一.Combo Box

还是老样子,咱们边做边练
目标图:
在这里插入图片描述

1.可以直接双击编辑下拉内容

话不多说,先拖。
在这里插入图片描述
标签是可以显示框线的
在这里插入图片描述
运行结果:
在这里插入图片描述
接下来开始布局:
上面的4个组件先格栅,然后窗口垂直布局,然后可以加Spacer来调距离,也可以通过设置最小宽度来调。
在这里插入图片描述
当我们直接双击comboBox时,会弹出:
在这里插入图片描述
在这里可以直接进行下拉选择的添加
但是这样写死,不太好,大多数我们是用代码来写!

2.代码初始化下拉内容

定义一个初始化函数initUI来初始化下拉组件

3.一次性添加多个下拉内容

addItems(),注意参数为字符串列表。

void Dialog::initUI()
{
    ui->comboBoxXueli->clear();//先清空刚刚我们双击添加的学历
    QStringList list;
    list<<"小学"<<"初中"<<"高中"<<"大学"<<"研究生"<<"博士后";
    ui->comboBoxXueli->addItems(list);//参数为字符串列表
    }

4.下拉框手动编辑

**setEditable(true)**就可以直接输入

ui->comboBoxXueli->setEditable(true);

在这里插入图片描述

5.下拉内容添加附加值

addItem的第二个参数为附加值,当我们获取时,可以获取的到。
因为这样两个值,我们刚好可以用到容器QMap
用迭代器循环来进行加入。

QMap<QString,QString> citys;
    citys.insert("北京","010");
    citys.insert("上海","020");
    citys.insert("江苏","030");
    citys.insert("四川","080");

    for(auto it=citys.begin();it!=citys.end();it++)
    {
        ui->comboBoxCity->addItem(it.key(),it.value());
    }

运行结果:
在这里插入图片描述

6.下拉添加图标

OK接下来我们来添加图标。
addItem的第一个参数可以加图标。
因为有这些重载函数:
在这里插入图片描述
OK,添加图标肯定要有资源,所有我们先来添加资源吧。
在这里插入图片描述
记得添加完后保存一下:
在这里插入图片描述
然后开始添加我们的资源到下拉组件中
addFile是将路径中的图片添加到icon的变量名中。
:表示从当前资源目录中去寻找。

    QIcon icon1;
    icon1.addFile(":/lanq.png");
    ui->comboBoxLove->addItem(icon1,"篮球");
    QIcon icon2;
    icon2.addFile(":/music.png");
    ui->comboBoxLove->addItem(icon2,"音乐");

运行结果:
在这里插入图片描述

7.获取下拉值

接下来我们对下拉组件来进行转到槽,获取下拉的内容。
用这个信号
在这里插入图片描述
currentText可以来获取当前下拉选中的值。
currentDate可以来获取当前的附加值,如果设置了的话

void Dialog::onChange()
{
    QString xueli=ui->comboBoxXueli->currentText();
    QString  city=ui->comboBoxCity->currentText();
    QString love=ui->comboBoxLove->currentText();
    QString number=ui->comboBoxCity->currentData().toString();//获取附加值

    QString ret="学历:"+xueli+" 爱好:"+love+" 城市:"+city+" 区号:"+number;

    ui->labelText->setText(ret);

}


void Dialog::on_comboBoxXueli_currentIndexChanged(int index)
{
     onChange();
}

void Dialog::on_comboBoxCity_currentIndexChanged(int index)
{
    onChange();
}

void Dialog::on_comboBoxLove_currentIndexChanged(int index)
{
   onChange();
}

运行结果:
在这里插入图片描述

二.总结

对于Combo Box组件,我们主要注意一下那几个添加方法,后获取的方法。

成功的确需要一步一个脚印的积累,勤奋和汗水是成功的基础和前提!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ThreadLocal原理及使用

一、引言 在Java多线程编程中&#xff0c;ThreadLocal是一个非常有用的工具&#xff0c;它提供了一种将对象与线程关联起来的机制&#xff0c;使得每个线程都可以拥有自己独立的对象副本&#xff0c;从而避免了线程安全问题。然而&#xff0c;使用不当会导致内存泄漏问题。 二…

el-input 自动获取焦点

前言&#xff1a; 需求描述&#xff1a;在 Dialog 对话框中 使用 input 组件&#xff1b;当点击按钮&#xff0c;Dialog 对话框显示&#xff0c;且里面的 input 组件要自动获取焦点。因为页面上还存在其他的 input 组件&#xff0c;所以使用 自动获取焦点属性没用&#xff01;&…

AppInventor2要在界面上做一个电量图标,有什么好的思路吗?

问&#xff1a;要在界面上做一个电量图标&#xff0c;有什么好的思路吗&#xff1f; 答&#xff1a;首先&#xff0c;很容易想到使用进度条相关的组件&#xff0c;原生”滑动条“组件可以吗&#xff1f; 答案显而易见&#xff0c;首先它的样式自定义不够&#xff0c;UI不外乎上…

使用Flask Swagger自动生成API文档

文章目录 安装Flask Swagger使用Flask Swagger生成API文档总结1. 自动化文档生成2. 交互式文档展示3. 规范化API设计4. 提升协作效率5. 支持多种格式 Flask Swagger是一种用于管理Flask API文档的工具。它基于OpenAPI规范&#xff0c;可以自动生成API的交互式文档。使用Flask S…

明火炒菜不安全?NO 华火新能源电燃灶“电生明火”安全又环保

明火炒菜&#xff0c;色味俱全&#xff0c;这就是为什么电磁炉&#xff08;无火&#xff09;炒菜不好吃&#xff0c;越来越少人用的主要原因&#xff01; 在中国&#xff0c;明火炒菜这一传统的烹饪方式延绵了几千年&#xff0c;是中华文化传承的瑰宝&#xff0c;早已根深蒂固于…

k8s 部署 CoreDNS master02 节点部署 负载均衡部署

目录 一、部署 CoreDNS 1.1.在所有 node 节点上操作 1.2.在 master01 节点上操作 1.3.DNS 解析测试 二、master02 节点部署 2.1.从 master01 节点上拷贝证书文件、各master组件的配置文件和服务管理文件到 master02 节点 2.2.修改配置文件kube-apiserver中的IP 2.3.在 …

NegativePrompt:利用心理学通过负面情绪刺激增强大型语言模型

【摘要】大型语言模型 (LLM) 已成为各种应用不可或缺的一部分&#xff0c;从传统的计算任务到高级人工智能 (AI) 应用。这种广泛的应用促使社会科学等各个学科对 LLM 进行了广泛的研究。值得注意的是&#xff0c;研究表明 LLM 具有情商&#xff0c;可以通过积极的情绪刺激进一步…

温故而知新-JUC篇【面试复习】

温故而知新-JUC篇【面试复习】 前言版权推荐温故而知新-JUC篇多线程Java语言中的线程安全线程安全的实现方法线程的创建线程的状态wait和sleep的区别ThreadLocalsynchronize的优化synchronize和Reentrant的对比AQS线程池ThreadPoolExecutorThreadPoolExecutor源码ConcurrentHas…

C++下的内存管理

文章目录 内存分布C语言中动态内存管理方法C内存管理new/delete操作内置类型new和delete操作自定义类型operator new 和 operator deletenew和delete的实现原理定位new表达式 malloc/free和new/delete的区别内存泄漏 内存分布 栈&#xff1a;又叫做堆栈–非静态局部变量/函数参…

org.json下载方法

介绍org.json下载的一些方法。 工具/原料 浏览器 方式一 在百度上搜索org.json&#xff0c;点击第一个搜索结果。进入JSON网站后&#xff0c;可以看到有各种语言版本的json工具包&#xff0c;选择JSON-java。 点击JSON-java后页面跳转到GitHub上&#xff0c;在该网页上点击…

C++设计模式---面向对象原则

面向对象设计原则 原则的目的&#xff1a;高内聚&#xff0c;低耦合 1. 单一职责原则 类的职责单一&#xff0c;对外只提供一种功能&#xff0c;而引起类变化的原因都应该只有一个。 2. 开闭原则 对扩展开放&#xff0c;对修改关闭&#xff1b;增加功能是通过增加代码来实现的&…

webpack5零基础入门-15样式兼容性问题处理

1.下载相关依赖 npm i postcss-loader postcss postcss-preset-env -D 2.在webpack.config.js中配置 注意&#xff1a;postcss-loader要在css-loader后面配置 3.写一个flex布局&#xff0c;flex是存在一定的兼容性问题的 4.打包 可以看到打包后未被处理 1.下载相关依赖 np…

js实现鼠标拖拽多选功能

实现功能 在PC端的H5页面中&#xff0c;客户拖动鼠标可以连选多个选项 效果展示 具体代码如下 <!DOCTYPE html> <html><head><title>鼠标拖拽多选功能</title><script src"https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js&quo…

【Text2SQL 经典模型】TypeSQL

论文&#xff1a;TypeSQL: Knowledge-Based Type-Aware Neural Text-to-SQL Generation ⭐⭐⭐ Code: TypeSQL | GitHub 一、论文速读 本论文是在 SQLNet 网络上做的改进&#xff0c;其思路也是先预先构建一个 SQL sketch&#xff0c;然后再填充 slots 从而生成 SQL。 论文发…

Epson推出多摄像头接口芯片S2D13P04

目前&#xff0c;汽车电子的发展日新月异&#xff0c;汽车显示控制器也更多地采用芯片集成化设计的趋势伴随着目前ADAS系统的发展&#xff0c;大量的摄像头和雷达传感器应用到汽车电子中。传统的系统集成方案通常采用多通道电路来处理多摄像头信号输入的方案&#xff0c;但是车…

Oracle体系结构初探:数据库启动与停止

往期内容 参数管理 控制文件添加 启动 在启动Oracle数据库时&#xff0c;我们一般会使用如下命令&#xff1a; startup 虽然命令只有一个&#xff0c;但其中却是经历了3个阶段&#xff0c;从下面执行 startup 命令返回也可以看出来。 总结为3个阶段&#xff1a; nomount&…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-22讲 RTC 时钟设置

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

GPT‑4o普通账户也可以免费用

网址 https://chatgpt.com/ 试了一下&#xff0c;免费的确实显示GPT‑4o的模型&#xff0c;问了一下可以联网&#xff0c;不知道能不能通过插件出图 有兴趣的可以试试

测试环境KDE组件漏洞修复

yarn白名单方案 解决漏洞: 方案: 此方式主要使用iptables的功能,对yarn的resourceManager服务的8088端口进行访问ip限制,目的限制8088端口只允许集群内ip访问。 #分别在两台resourceManager节点执行以下步骤ssh kde-offline1 #安装iptables服务,并启动设置为开机自启 yum …

【Android】WorkManager(章二)

剩余的三部分 官方文档 案例 实现下载器&#xff0c;并监听下载进度 界面 定义Worker 在官方案例的前提下&#xff0c;进行完善 下载download 下载进度 授予权限 开始工作并监听 完整代码 MainActivity.java package com.test.downloadworkerapplication;import static…