【Qt 学习笔记】Qt常用控件 | 输入类控件 | Combo Box的使用及说明

news2024/11/20 1:38:57

  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

Qt常用控件 | 输入类控件 | Combo Box的使用及说明

文章编号:Qt 学习笔记 / 30

文章目录

  • Qt常用控件 | 输入类控件 | Combo Box的使用及说明
    • 一、QComboBox介绍
      • 1. 简介
      • 2. 常见属性
      • 3. 核心方法
      • 4. 核心信号
    • 二、ComboBox的使用(代码示例)
      • 1. 使用下拉框实现点餐系统
      • 2. 从文件中加载下拉框的选项


一、QComboBox介绍

1. 简介

QComboBox是一个下拉框控件,用于在一个预定义的列表中选择一个选项。它是Qt库中的一个类,可以在Qt应用程序中使用。

可以通过设置QComboBox的属性来自定义其外观和行为,如设置字体、背景颜色、边框样式等。

QComboBox可以用于多种情况,如选择一个颜色、选择一个字体、选择一个文件名等等。它也可以用于构建自定义的输入界面,例如在一个表单中选择一个国家或城市。

在这里插入图片描述

2. 常见属性

属性说明
currentText当前选中的⽂本
currentIndex当前选中的条⽬下标.
从 0 开始计算. 如果当前没有条⽬被选中, 值为 -1
editable是否允许修改
设为 true 时, QComboBox 的⾏为就⾮常接近 QLineEdit , 也可以设置 validator
iconSize下拉框图标 (⼩三⻆) 的⼤⼩
maxCount最多允许有多少个条⽬

3. 核心方法

核心方法说明
addItem(const QString&)添加⼀个条⽬
currentIndex()获取当前条⽬的下标
从 0 开始计算. 如果当前没有条⽬被选中, 值为 -1
currentText()获取当前条⽬的⽂本内容

4. 核心信号

核心信号说明
activated(int)
activated(const QString & text)
当用户选择了⼀个选项时发出
这个时候相当于用户点开下拉框, 并且⿏标划过某个选项.
此时还没有确认做出选择.
currentIndexChanged(int)
currentIndexChanged(const QString& text)
当前选项改变时发出.
此时用户已经明确的选择了⼀个选项.
用户操作或者通过程序操作都会触发这个信号.
editTextChanged(const QString &text)当编辑框中的⽂本改变时发出(editable 为 true 时有效)

二、ComboBox的使用(代码示例)

1. 使用下拉框实现点餐系统

  1. 在界面上创建三个下拉框, 和⼀个按钮.
    在这里插入图片描述
  2. 编辑widget.cpp文件,添加下拉框内的选项
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->comboBox->addItem("雪碧");
    ui->comboBox->addItem("可乐");

    ui->comboBox_2->addItem("旺旺雪饼");
    ui->comboBox_2->addItem("旺旺仙贝");

    ui->comboBox_3->addItem("红酒");
    ui->comboBox_3->addItem("江小白");
}
  1. 生成按钮的槽函数,并修改槽函数
void Widget::on_pushButton_clicked()
{
    qDebug() << "饮料选择: " << ui->comboBox->currentText();
    qDebug() << "零食选择: " << ui->comboBox_2->currentText();
    qDebug() << "烟酒选择: " << ui->comboBox_3->currentText();
}
  1. 运行代码,并查看结果
    在这里插入图片描述
    在这里插入图片描述

2. 从文件中加载下拉框的选项

  1. 在界⾯上创建⼀个下拉框
    在这里插入图片描述
  2. 创建⽂件resource.txt , 编写选项. 每个选项占⼀⾏
    在这里插入图片描述
  3. 修改 widget.cpp, 从⽂件中读取选项
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    std::ifstream file("D:/QtCode/resource.txt");
     std::string line;
     while (std::getline(file, line)) {
     ui->comboBox->addItem(QString::fromStdString(line));
     }
     file.close();
}

  1. 运行代码查看结果
    在这里插入图片描述

在这里插入图片描述

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

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

相关文章

东北大学工程训练CNC加工中心(坤图)

东北大学加工中心&#xff08;CNC&#xff09;采用的系统为FANUC系统。 要求学生自主设计图样&#xff0c;编写GCODE文件&#xff0c;操作电脑使机床按设计路径铣出图案。 本人设计的图样为坤坤图 图为用CAD设计绘制的图样。 计算坐标&#xff0c;设计铣刀轨迹&#xff0c;得…

FPGA设计篇——波形绘制软件

FPGA设计篇——波形绘制软件 写在前面一、Visio二、TimeGen三、WaveDrom写在最后 写在前面 在FPGA设计过程中&#xff0c;经常需要编写设计文档&#xff0c;其中&#xff0c;不可缺少的就是仿真波形的绘制&#xff0c;可以直接截取Vivado或者Modelsim平台实际仿真波形&#xff…

Java面试八股之Java中==和equals()的区别

Java中和equals()的区别 操作符&#xff1a; 对于基本数据类型&#xff08;如int、char、boolean等&#xff09;&#xff0c;比较的是它们的值是否相等。 对于对象引用类型&#xff0c;比较的是两个对象的内存地址&#xff08;即是否指向同一个对象实例&#xff09;。也就是…

ROS标定海康威视摄像头

ROS视摄像头标定----海康威视 引言&#xff1a; ​ 摄像头标定是为了确保视觉系统能够准确反映现实世界中的对象&#xff0c;并消除图像中的畸变效果。在本实验中&#xff0c;我们使用了ROS中的功能包进行摄像头标定。标定的原理包括畸变校正和摄像头参数估计。通过移动标定板并…

美国服务器vs香港服务器,哪个网站部署打开更快一些?

网站打开速度受多种因素影响&#xff0c;包括服务器地理位置、网络质量、带宽等。用户距离服务器越近&#xff0c;访问速度越快。对于中国大陆用户而言&#xff0c;香港的服务器可能会提供更快的网站访问体验&#xff0c;因为香港距离大陆较近&#xff0c;且网络连接通常较好。…

ssm079基于SSM框架云趣科技客户管理系统+jsp

客户管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本客户管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处…

【ZYNQ】zynq启动模式及程序固化

一、前言 由于zynq含有arm cpu ,其启动模式由ps主导&#xff0c;与纯逻辑的fpga不相同&#xff0c;此处做一个记录。 二、zynq启动模式 关于zynq的启动模式详细内容可以参考官方文档&#xff1a;ug585-Zynq 7000 SoC Technical Reference Manual&#xff0c;第六章。 2.1 启…

centos 7 yum install -y nagios

centos 7 systemctl disable firewalld --now vi /etc/selinux/config SELINUXdisabled yum install -y epel-release httpd nagios yum install -y httpd nagios systemctl enable httpd --now systemctl enable nagios --now 浏览器 IP/nagios 用户名&#xff1a;…

GPT的全面历史和演变:从GPT-1到GPT-4

人工智能新篇章&#xff1a;GPT-4与人类互动的未来&#xff01; 本文探讨了生成式预训练 Transformer (GPT) 的显着演变&#xff0c;提供了从开创性的 GPT-1 到复杂的 GPT-4 的旅程。 每次迭代都标志着重大的技术飞跃&#xff0c;深刻影响人工智能领域以及我们与技术的互动。 我…

Codeforces Round 939 D. Nene and the Mex Operator 【构造、思维、状压】

D. Nene and the Mex Operator 题意 给定一个长度为 n n n 的正整数数组 a a a&#xff0c;定义操作&#xff1a; 选定一个区间 [ l , r ] [l, r] [l,r]&#xff0c;将区间内的数字替换成&#xff1a; m e x ( a l , a l 1 , . . . , a r ) mex(a_l,a_{l1},...,a_r) mex(…

探索适合你的6个兼职副业之路

在当下这个多元化的社会&#xff0c;寻找一份适合自己的兼职副业已成为许多人的追求。市场上的选择繁多&#xff0c;从线上调查到电子商务&#xff0c;每一种副业都有其独特的魅力和挑战。下面&#xff0c;我将为大家介绍六种热门的兼职副业选择&#xff0c;希望能够帮助你找到…

深度学习检测算法YOLOv5的实战应用

在当前的检测项目中&#xff0c;需要一个高效且准确的算法来处理大量的图像数据。经过一番研究和比较&#xff0c;初步选择了YOLOv5作为算法工具。YOLOv5是一个基于深度学习的检测算法&#xff0c;以其快速和准确而闻名。它不仅能够快速处理图像数据&#xff0c;还能提供较高的…

Springboot+Vue项目-基于Java+MySQL的网上点餐系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

【Python数据库】Redis

文章目录 [toc]数据插入数据查询数据更新数据删除查询存在的所有key 个人主页&#xff1a;丷从心 系列专栏&#xff1a;Python数据库 学习指南&#xff1a;Python学习指南 数据插入 from redis import Redisdef insert_data():redis_cli Redis(hostlocalhost, port6379, db…

软件工程中的耦合和内聚

耦合 在软件工程中&#xff0c;耦合是一个重要的概念&#xff0c;用于描述模块或组件之间的相互依赖程度。 从非直接耦合到内容耦合的耦合性依次升高&#xff0c;所以非直接耦合是我们最想见到的结果&#xff0c;内容耦合是我们最不想见到的结果。 非直接耦合数据耦合标记耦…

车企的数智化“内功”,大模型帮修炼

文&#xff5c;白 鸽 编&#xff5c;王一粟 时隔4年回归的北京车展&#xff0c;遇上了中国智能汽车的热潮。 开年价格战的持续洗礼&#xff0c;不仅让一众中国车企都慌得一批&#xff0c;也让全球巨头特斯拉也面临一季度销量大跌局面。 与此同时&#xff0c;智能汽车还在…

阿斯达年代记下载注册+短信验证教程分享

阿斯达年代记&#xff1a;三强争霸》预计将于4月24日盛大发布&#xff0c;标志着一款新颖的MMORPG游戏面世&#xff0c;它跨越安卓、苹果和PC三大平台&#xff0c;实现数据互通&#xff0c;满足多元化玩家群体的需求。无论是追求移动便捷的手游爱好者&#xff0c;还是偏爱高性能…

Redis系列5:深入分析Cluster 集群模式

1 背景 前面我们学习了Redis高可用的两种架构模式&#xff1a;主从模式、哨兵模式。 解决了我们在Redis实例发生故障时&#xff0c;具备主从自动切换、故障转移的能力&#xff0c;终保证服务的高可用。 但是这些其实远远不够&#xff0c;随着我们业务规模的不断扩展&#xff0…

Golang GMP解读

概念梳理 1. 1 线程 通常语义中的线程&#xff0c;指的是内核级线程&#xff0c;核心点如下&#xff1a; 是操作系统最小调度单元&#xff1b;创建、销毁、调度交由内核完成&#xff0c;cpu 需完成用户态与内核态间的切换&#xff1b;可充分利用多核&#xff0c;实现并行. …