【Qt】输入类控件QComboBox

news2024/10/1 9:40:57

 

目录

 输入类控件QComboBox

例子:使用下拉框模拟点餐

例子:从文件中加载下拉框的选项


输入类控件QComboBox

  • QComboBox表示下拉框

核心属性

属性说明

currentText

当前选中的⽂本

currentIndex

当前选中的条⽬下标.

从 0 开始计算. 如果当前没有条⽬被选中, 值为 -1

editable

是否允许修改

设为 true 时, QComboBox 的⾏为就⾮常接近 QLineEdit , 也可以设置 validator

iconSize

下拉框图标 (⼩三⻆) 的⼤⼩

maxCount

最多允许有多少个条⽬

核心方法

方法说明

addItem(const QString&)

添加⼀个条⽬

currentIndex()

获取当前条⽬的下标

从 0 开始计算. 如果当前没有条⽬被选中, 值为 -1

currentText()

获取当前条⽬的⽂本内容

核心属性

信号说明

activated(int)

activated(const QString & text)

当⽤⼾选择了⼀个选项时发出.

这个时候相当于⽤⼾点开下拉框, 并且⿏标划过某个选项.

此时还没有确认做出选择

currentIndexChanged(int)

currentIndexChanged(const QString & text)

当前选项改变时发出.

此时⽤⼾已经明确的选择了⼀个选项.

⽤⼾操作或者通过程序操作都会触发这个信号.

editTextChanged(const QString& text)

当编辑框中的⽂本改变时发出

(editable 为 true 时有效)

例子:使用下拉框模拟点餐

(1)在界面上创建三个下拉框,一个提交按钮

(2)初始化三个下拉框内容

(3)给按钮添加slot函数

(4)执行代码 

代码展示:
 

#include "widget.h"
#include "ui_widget.h"

#include <QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    ui->comboBox->addItem("鸡腿堡");
    ui->comboBox->addItem("牛肉堡");
    ui->comboBox->addItem("虾堡");

    ui->comboBox_2->addItem("薯条");
    ui->comboBox_2->addItem("鸡块");
    ui->comboBox_2->addItem("鸡翅");

    ui->comboBox_3->addItem("可乐");
    ui->comboBox_3->addItem("雪碧");
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_pushButton_clicked()
{
    qDebug() << ui->comboBox->currentText() << "一份,"
             << ui->comboBox_2->currentText() << "一份,"
             << ui->comboBox_3->currentText() << "一杯。";
}

例子:从文件中加载下拉框的选项

下拉框里面的内容,很多时候不是从代码中提取处理的,而是通过文件或者网络加载数据得到的。例如选课操作。

(1)在文件中创建一个.txt文件

(2)在界面上创建一个下拉框

 (3)在.cpp文件中读取.txt文件

CPU时计算机的核心,一个计算机可以没有硬盘,可以没有网卡,可以没有显示器,可以没有键盘,但是不能没有CPU,一个计算机如果没有CPU,就不能称为计算机了。

此处要求的参数时QString,不是std::string,虽然二者都是字符串,但是是不同的类型,此处需要手动的转换。

(1)std::string转换为QString

std::string s;

QString::fromStdString(s);

(2)QString转换为std::string

std::string s;

QString s1;

s1.toStdString(s);

代码展示:

#include "widget.h"
#include "ui_widget.h"

#include<QDebug>
#include<fstream>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //读取文件内容
    std::ifstream file("d:/config.txt");
    if(!file.is_open())
    {
        qDebug() << "文件打开失败";
        return;
    }
    //按行读取文本
    std::string line;
    while(std::getline(file, line))
    {
        //将读取到的每一行都放在下拉框里面
        ui->comboBox->addItem(QString::fromStdString(line));
    }
    //关闭文件
    file.close();
}

Widget::~Widget()
{
    delete ui;
}

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

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

相关文章

秋招力扣Hot100刷题总结——栈和队列

1. 有效的括号 题目链接 题目要求&#xff1a;给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。…

Linux安装并配置Hadoop

目录 一、安装并配置JDK二、安装并配置Hadoop三、安装过程中遇到的问题总结 一、安装并配置JDK Linux上一般会安装Open JDK,关于OpenJDK和JDK的区别&#xff1a;http://www.cnblogs.com/sxdcgaq8080/p/7487369.html 准备Open JDK 1.8 查询可安装的java版本 yum -y list jav…

Swin-Transformer论文阅读

在此前&#xff0c;transformer已经通过ViT等作品展现出了它在cv领域的无限可能性&#xff0c;但是&#xff0c;vit主要针对的是图像分类问题的讨论&#xff0c;而分类只是cv众多问题中最基础的问题之一。那么&#xff0c;怎么用transformer进行物体检测&#xff0c;语义分割这…

vscode中使用官方推荐的编程字体Cascadia Code字体

字体样式 > 和 有特殊效果 很多字体都支持使用连字&#xff0c;Cascadia Code 、Jetbrains Mono 、Fira Code 等 安装Cascadia Code 下载完成后解压安装 选中右键安装&#xff0c;static文件里也一样安装 VS Code 中配置设置字体和连字设置 Cascadia Code, Consolas, Couri…

基于协同过滤算法的私人诊所管理系统_6t4o8

TOC springboot571基于协同过滤算法的私人诊所管理系统_6t4o8--论文 绪 论 1.1研究背景 自改革开放以来&#xff0c;国内的基础网络设施的不断进步和终端电子设备的高度普及&#xff0c;互联网用户规模越来越大[1]。现在人们越来越离不开计算机网络、互联网所带来的好处了&…

Windows—TCP编程

服务端骨架&#xff1a; #include <iostream> #include <WinSock2.h> #pragma comment(lib,"ws2_32.lib") #include <windows.h>int main() {WORD wVersionRequested MAKEWORD(2, 2);WSADATA WSAData;WSAStartup(wVersionRequested, &WSADat…

调用第三方API,可能会遇到的问题?

在实际工作中&#xff0c;我们经常需要在项目中调用第三方API接口&#xff0c;获取数据&#xff0c;或者上报数据&#xff0c;进行数据交换和通信。 那么&#xff0c;调用第三方API接口会遇到哪些问题&#xff1f;如何解决这些问题呢&#xff1f; 这篇文章就跟大家一起聊聊第…

浅谈国产大模型的过去、现在以及未来

随着时间推移&#xff0c;AI与大模型正在肉眼可见的降温。 怎样去衡量一款AI产品是否成功&#xff1f; 这个问题如果放在两年前&#xff0c;很多人给出的答案会集中在AI的狭义领域&#xff0c;AlphaGo、Siri、Google Assistant&#xff0c;或是用于解锁手机的图像识别技术&am…

根据json字符串 自动生成 实体类 Model Entity .NET

①访问json2csharp的在线工具&#xff1a;http://json2csharp.com/ ②复制json字符串&#xff0c;粘贴到左边&#xff0c;按下面Convert按钮 ③右边就是 生成的 实体类 &#xff0c;直接复制到 .cs文件内就能使用 ④或者点击 Zip As File 按钮&#xff0c;直接生成 N个.cs文…

编写 prometheus exporter监控 mysql group replication

用 prometheus 监控 mysql&#xff0c;之前用 mysqld_exporter 收集mysql 的监控指标&#xff0c;发现并没有 mysql 组复制状态的指标。只能自己收集了&#xff0c;编写脚本收集指标推送到 pushgateway&#xff0c;这个办法更简单但是扩缩容不是很方便。下面用 python 编写的一…

C++类模板初阶

目录 1. 泛型编程 概念&#xff1a; 2.函数模板 2.1函数摸版概念&#xff1a; 2.2函数模板格式 2.3函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3.类模板 3.1 类模板的定义格式 3.2类模板实现示例 3.3类模板的实例化 1. 泛型编程 概念&#xff1…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机本身的数据保存(CustomData)功能(Python)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机本身的数据保存&#xff08;CustomData&#xff09;功能&#xff08;Python&#xff09; Baumer工业相机Baumer工业相机的数据保存&#xff08;CustomData&#xff09;功能的技术背景CameraExplorer如何使用数据保存&#…

医院用过期药要赔偿多少?

法律规定&#xff0c;经营者提供商品或者服务有欺诈行为的&#xff0c;需要加倍赔偿&#xff0c;赔偿为消费者所购买商品的价款或者接受服务的费用的三倍。&#xff08;金额不足五百元的&#xff0c;为五百元。但是如果商家明知道是过期的&#xff0c;还是要卖&#xff0c;是可…

中秋节超市生鲜最全陈列指南

中秋节将至&#xff0c;超市提前布局中秋陈列&#xff0c;打好秋季营销第一战&#xff0c;中秋节期间&#xff0c;从小分类上说&#xff1a;结球类、调味类、豆类、精品蔬菜、茄果类的蔬菜销售需求比较旺盛的。 从蔬菜的单品上来数据分析得出结果是如下单品在节日期间销售上排…

使用docker-compose 搭建es集群

首先需要安装docker&#xff0c;这里就略过了 在第一台机器上创建 docker-compose.yml 文件内容如下&#xff1a; services:es:image: docker.elastic.co/elasticsearch/elasticsearch:7.16.2container_name: esenvironment:- bootstrap.memory_locktrue- xpack.security.ena…

精准定位:数字化营销的策略基石

在当今数字化时代&#xff0c;营销环境发生了巨大变化。精准定位已成为数字化营销的关键策略基石&#xff0c;对于企业实现高效营销、提升市场竞争力至关重要。 一、精准定位的重要性 1. 提高营销效率&#xff1a;通过精准定位目标客户群体&#xff0c;企业能够将有限的营销资…

【数据集】部分SAR舰船数据集,用于目标检测

SAR舰船目标检测数据集 1、SSDD 原文&#xff1a;https://sci-hub.se/10.1109/BIGSARDATA.2017.8124934 下载连接&#xff1a;https://github.com/TianwenZhang0825/Official-SSDD/blob/main/README.md 数据介绍&#xff1a; 数量&#xff1a;1160 来源&#xff1a;RadarSat-…

Golang | Leetcode Golang题解之第357题统计各位数字都不同的数字个数

题目&#xff1a; 题解&#xff1a; func countNumbersWithUniqueDigits(n int) int {if n 0 {return 1}if n 1 {return 10}ans, cur : 10, 9for i : 0; i < n-1; i {cur * 9 - ians cur}return ans }

大小端字节序存储介绍

我们知道整形在内存中的存储方式了&#xff0c;但是在VS编译器里发现好像顺序不一样&#xff0c;类如&#xff1a; 这里就涉及到大小端字节序存储了。 什么是大端小端 大端存储模式&#xff1a;是指数据的低位保存在内存的高地址中&#xff0c;数据的高位&#xff0c;保存在内…

《黑神话:悟空》的AI技术解析:游戏智能的新境界

2024 年 8 月的第三周&#xff0c;哪哪都是悟空的声音&#xff0c;让我一度想起当年国足打进世界杯&#xff0c;学校不上课组织看球的场景。 从我个人情感而言&#xff0c;《黑神话&#xff1a;悟空》带来的震撼&#xff0c;惊喜和冲击不亚于当年国足在世界杯赛场上跟巴西踢球。…