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


  • 博客主页: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.mzph.cn/pingmian/3278.shtml

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

相关文章

【Qt 学习笔记】Qt常用控件 | 显示类控件 | LCD Number的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 显示类控件 | LCD Number的使用及说明 文章编号&#xf…

梳理 Pytorch 19个方面,70个核心操作全总结!

最新写了很多关于 Pytorch 的文章&#xff0c;喜欢可以从0开始学习&#xff1a; 小白学 PyTorch 系列&#xff1a;这一次&#xff0c;我准备了 20节 PyTorch 中文课程小白学 PyTorch 系列&#xff1a;54个超强 pytorch 操作小白学 PyTorch 系列&#xff1a;9个技巧让你的 PyTo…

wps屏幕录制怎么用?分享使用方法!

数字化时代&#xff0c;屏幕录制已成为我们学习、工作和娱乐中不可或缺的一部分。无论是制作教学视频、分享游戏过程&#xff0c;还是录制网络会议&#xff0c;屏幕录制都能帮助我们轻松实现。WPS作为一款功能强大的办公软件&#xff0c;其屏幕录制功能也备受用户青睐。本文将详…

代码随想录:二叉树15-17

目录 404.左叶子之和 题目 代码&#xff08;后序递归&#xff09; 代码&#xff08;前序迭代&#xff09; 513.找树左下角的值 题目 代码&#xff08;层序迭代&#xff09; 112.路径总和 题目 代码&#xff08;前序迭代&#xff09; 112.路径总和II 题目 代码&…

记录如何用php将多个字符替换成同一个字符

在PHP中&#xff0c;如果你想要将多个不同的字符替换成同一个字符&#xff0c;可以使用str_replace()函数。这个函数可以接收一个包含需要被替换的字符的数组&#xff0c;以及一个表示替换目标的字符串。 以下是使用str_replace()进行多字符替换的基本示例&#xff1a; $text…

Linux读写文件

前言 学习了文件系统&#xff0c;就能理解为什么说Linux下一切皆文件。 语言层面的操作 在c语言的学习中我们可以使用fopen()函数对文件进行操作。 int main() {//FILE * fp fopen("./log.txt", "w");//FILE * fp fopen("./log.txt", "…

TablePlus for Mac/Win:开启高效数据开发新纪元

在当今数字化时代&#xff0c;数据的重要性日益凸显。无论是企业还是个人&#xff0c;都需要一款强大而实用的本地原生数据开发软件来提升工作效率。而 TablePlus for Mac/Win 正是这样一款卓越的工具&#xff0c;它为用户带来了全新的体验&#xff0c;让数据开发变得更加轻松、…

第1次作业

目录 重点内容提要一、误差度量二、浮点数系统三、误差传播四、数值稳定性 作业解析 重点内容提要 一、误差度量 二、浮点数系统 三、误差传播 四、数值稳定性 作业解析

快速部署 Garnet

快速部署 Garnet Garnet 是 Microsoft Research 推出的一种新型远程缓存存储&#xff0c;其设计速度极快、可扩展且延迟低。 Garnet 在单个节点内是线程可扩展的。它还支持分片集群执行、复制、检查点、故障转移和事务。它可以在主内存以及分层存储&#xff08;例如 SSD 和 Az…

2024/4/25 红外遥控代码

51完结撒花&#xff01;&#xff01;&#xff01; 这块如果IR听不懂可以看看那个状态机的相关视频。 Int0.c #include <REGX52.H>void Int0_Init(void) {IT01;IE00;EX01;EA1;PX01; }//void Int0_Routine(void) interrupt 0 //{ // Num; //} Timer0.c #include …

C#中=> “Lambda运算符”

在C#中&#xff0c;> 符号被称为“Lambda运算符”或“Lambda箭头”。它用于连接Lambda表达式中的参数列表和表达式主体&#xff0c;表示函数的输入和输出关系。因此&#xff0c;Lambda运算符充当了将参数映射到表达式的箭头。 Lambda运算符的左侧是参数列表&#xff0c;它们…

GRASSHOPPER电池Expression

Grasshopper中如果要实现简单的条件if语句的效果&#xff0c;可以使用电池Expression。 举例&#xff1a;获取两个数的差值&#xff0c;永远用大数减去小数

代码随想录算法训练营day45

70. 爬楼梯 &#xff08;进阶&#xff09; 五部曲&#xff1a; dp数组下标及含义&#xff1a;爬到有i个台阶的楼顶&#xff0c;有dp[i]种方法dp数组初始化&#xff1a;dp[0]1递推公式&#xff1a;dp[i] dp[i - j]遍历方向&#xff1a;target放在外循环&#xff0c;将nums放在…

OpenUI在windows下部署使用

OpenUI OpenUI是一个基于Python的AI对话平台&#xff0c;支持接入多种AI模型。 通过聊天的方式来进行UI设计&#xff0c;你可以通过文字来描述你想要的UI界面&#xff0c;OpenUI可以帮你实时进行渲染出效果 安装OpenUI 这里预设你的电脑上已安装git、Python和pip&#xff0…

Migrations

Entity Framework的Migrations工具是一个版本控制和数据库迁移的系统&#xff0c;它允许开发者以编程方式管理数据库模式的变更。 在使用Entity Framework时&#xff0c;开发者可以通过代码先行&#xff08;Code First&#xff09;的方式定义数据模型&#xff0c;然后使用Migr…

OSI网络七层协议<随手笔记>

1.OSI OSI&#xff08;Open System Interconnect&#xff09;&#xff0c;即开放式系统互连。 一般都叫OSI参考模型&#xff0c;是ISO组织在1985年研究的网络互连模型。该体系结构标准定义了网络互连的七层框架&#xff08;物理层、数据链路层、网络层、传输层、会话层、表示层…

关于腾讯云ocr银行卡识别报错url_1.URL is not a constructor

使用腾讯云进行ocr银行卡识别报错url_1.URL is not a constructor的问题各位怎么解决的能否留言告知一二 在线代码调试可以&#xff0c;但是js使用报错url_1.URL is not a constructor export function ocr(dataUrl){//dataUrl已转换为base64// Depends on tencentcloud-sdk-n…

账号安全及应用

一、账号安全控制 1.1系统账号清理 将用户设置为无法登陆 锁定账户 删除账户 设定账户密码&#xff0c;本质锁定 锁定配置文件-chattr&#xff1a; -a 让文件或目录仅供附加用途。只能追加 -i 不得任意更动文件或目录。 1.2密码安全控制 chage 1.3历史命令 history&am…

练习-字符串逆序统计

需求 完成字符串的逆序以及统计 设计一个程序&#xff0c;要求只能输入长度低于31的字符串&#xff0c;否则提示用户重新输入 打印如下内容: 您输入的字符串:abcabc 长度:6 逆序后为:cbacba 字符统计结果:{a: 2, b: 2, c: 2} 分析 1. 输入字符串(while循环) 2. 字符串长度小…

考研数学精选题目015

题目 lim ⁡ n → ∞ sin ⁡ [ π ln ⁡ ( 2 n 1 ) − ln ⁡ ( 2 n ) ] \mathop {\lim }\limits_{n \to \infty } \sin \left[ {{\pi \over {\ln \left( {2n 1} \right) - \ln \left( {2n} \right)}}} \right] n→∞lim​sin[ln(2n1)−ln(2n)π​] 来源 东南大学真题 证明 li…