您的位置:首页 > 文旅 > 美景 > 正规男科医院_个人网页制作设计模板_东莞网站优化_热门关键词查询

正规男科医院_个人网页制作设计模板_东莞网站优化_热门关键词查询

2024/12/23 11:46:20 来源:https://blog.csdn.net/Dirty_artist/article/details/142286385  浏览:    关键词:正规男科医院_个人网页制作设计模板_东莞网站优化_热门关键词查询
正规男科医院_个人网页制作设计模板_东莞网站优化_热门关键词查询

文章目录

    • 核心属性、方法、信号
    • 模拟点餐
    • 文件加载

核心属性、方法、信号

QComboBox表示下拉框

核心属性:

属性说明
currentText当前选中文本
currentIndex当前选中的条目下标
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时有效)

模拟点餐

image-20240915142941927

#include "widget.h"
#include "ui_widget.h"
#include<QtDebug>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->comboBox_stapleFood->addItem("米饭");ui->comboBox_stapleFood->addItem("面条");ui->comboBox_stapleFood->addItem("馒头");ui->comboBox_stapleFood->addItem("大饼");ui->comboBox_dishes->addItem("鱼香肉丝");ui->comboBox_dishes->addItem("清炒时蔬");ui->comboBox_dishes->addItem("辣子鸡");ui->comboBox_dishes->addItem("回锅肉");ui->comboBox_soup->addItem("老母鸡汤");ui->comboBox_soup->addItem("西红柿鸡蛋汤");ui->comboBox_soup->addItem("紫菜汤");ui->comboBox_soup->addItem("排骨玉米汤");}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{qDebug() << ui->comboBox_stapleFood->currentText() << ", " << ui->comboBox_dishes->currentText() << ", " << ui->comboBox_soup->currentText();
}

也可以通过图形化界面的方式编辑下拉框内容:

image-20240915144230621

文件加载

下拉框里面的内容,一般都不是写死的,而是从文件/网络当中加载获得,下面以文件加载作为示例。

准备config文件:

image-20240915152320232

#include "widget.h"
#include "ui_widget.h"
#include<fstream>
#include<QDebug>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//读取文件内容,提取每一行的内容std::ifstream file("C:/Users/panyu/Desktop/config.txt");if(!file.is_open()){qDebug() << "open file error";return;}//按行读取std::string line;while(std::getline(file, line)){//接受参数为QString  需要转换一下//ui->comboBox->addItem(line);ui->comboBox->addItem(QString::fromStdString(line));}
}Widget::~Widget()
{delete ui;
}

image-20240915152353578

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com