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

ops/2024/10/19 15:24:41/

  • 博客主页: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.ppmy.cn/ops/25282.html

相关文章

UE5像素流部署以及多实例部署(兼容ue4)

像素流部署请看我之前的文章就行&#xff0c;今天讲的是多实例部署 在这里可以配置多实例的数量 如果设置800端口 设置两个实例 那么就是800 801端口 我的个人显卡是4060TI,最多开三个

刚刚!MySQL8.4.0 LTS发布,接着再探

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、My…

牛客NC376 变回文串的最少插入次数【困难 动态规划,回文 C++/Java/Go/PHP 高频】力扣同一道题1312

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/bae2652b4db04a438368238498e4c13e https://leetcode.cn/problems/minimum-insertion-steps-to-make-a-string-palindrome/description/ 思路 参考答案C class Solution {public:/*** 代码中的类名、方法名、参…

CCF-CSP真题题解:201409-3 字符串匹配

201409-3 字符串匹配 #include <iostream> #include <cstring> #include <algorithm> using namespace std;int n, type; string s, p;string tolower(string s) {string res;for (char c : s) res tolower(c);return res; }int main() {cin >> p >…

PhotosCollage for Mac:优雅且实用的照片拼贴软件

PhotosCollage for Mac是一款优雅且实用的照片拼贴软件&#xff0c;为Mac用户提供了一个便捷、高效的平台&#xff0c;以创建精美、个性化的照片拼贴作品。 PhotosCollage for Mac v1.4.1激活版下载 该软件界面简洁直观&#xff0c;操作便捷。用户只需将想要拼贴的照片拖入“照…

RabbitMQ-死信队列

面试题&#xff1a;你们是如何保证消息不丢失的&#xff1f; 1、什么是死信 在 RabbitMQ 中充当主角的就是消息&#xff0c;在不同场景下&#xff0c;消息会有不同地表现。 死信就是消息在特定场景下的一种表现形式&#xff0c;这些场景包括&#xff1a; 1. 消息被拒绝访问&…

excel一列同乘同一个数

excel一列同乘同一个数 第一种方法&#xff08;excel本身功能&#xff09; 在空白区域输入要乘以的数&#xff0c;比如0.5 右键选择复制 选中需要乘以的单元格&#xff0c;选择性粘贴 点击乘&#xff0c;选择确定 删除0.5后也不会改变值 第二种方法&#xff08;方方格子…

MF(推荐系统的矩阵分解技术)论文笔记

论文概述 推荐系统的矩阵分解技术可以为用户提供更为准确的个性化推荐&#xff0c;对比传统的近邻技术&#xff0c;矩阵分解技术可以纳入更多信息&#xff0c;如隐式反馈、时间效应和置信度 近邻技术&#xff1a;基于用户或物品之间的相似性进行推荐&#xff0c;当用户之间已…