QT控件之QComboBox(下拉框相关)

 QComboBox提供了下拉列表框的控件。下面简单介绍几个的方法和属性。

  (1)addItems

  void addItem(const QString &text, const QVariant &userData = QVariant())

  void addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())

  在列表的最后一项添加一个文本内容为test选项

  (2)currentText

  QString currentText() const

  返回下拉列表框中当前选中的文本

  (3)count

  int count() const

  返回当前列表框中选项数量

  (4)currentIndex

  int currentIndex() const

  返回当前列表框中选中文本的序号


简单的案例:
#include "widget.h"
#include <QComboBox>
#include <QLayout>
#include <QDebug>
 
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    QComboBox *combobox = new QComboBox(this);
    combobox->addItem(tr("Circle"));
    combobox->addItem(tr("Pology"));
 
    QGridLayout *mainLayout = new QGridLayout(this);
    mainLayout->addWidget(combobox,0,0);
 
    qDebug() << "Now there are " << combobox->count() << "Items";
    qDebug() << "The current item is" << combobox->currentText();
}
 
Widget::~Widget()
{
}

结果:
在这里插入图片描述
程序输出:

 Now there are 2 Items
 The current item is "Circle"

代码2:

    //不带图标写法
    ui->comboBox->addItem("A1");
    ui->comboBox->addItem("A2");
    ui->comboBox->addItem("A3");
    ui->comboBox->addItem("A4");
    ui->comboBox->addItem("A5");
    ui->comboBox->addItem("A6");
    //带图标写法
    ui->comboBox->addItem(icon,QString::asprintf("Item %d",i)); 
    //可以使用QStringList 一次写入多个数据
    QStringList strList;
    strList<<"A1"<<"A2"<<"A3"<<"A4"<<"A5"<<"A6";
    ui->comboBox->addItems(strList);

在这里插入图片描述
ui->comboBox->setCurrentIndex(2);
在这里插入图片描述

获取ComboBox控件总索引数
    //索引为1-6
    int intc = ui->comboBox->count();
    QString StrIntN=QString::number(intc);
    QMessageBox::information(this, "comboBox", StrIntN, QMessageBox::Ok);

在这里插入图片描述

获取ComboBox控件当前选中索引:
    //索引为0-5
    int index = ui->comboBox->currentIndex();//获得索引
    QString StrIntN=QString::number(index);
    QMessageBox::information(this, "comboBox", StrIntN, QMessageBox::Ok);

在这里插入图片描述

获取当前内容:
QMessageBox::information(this, "comboBox", ui->comboBox->currentText(), QMessageBox::Ok);

在这里插入图片描述

ui->comboBox->clear(); //清除列表

在这里插入图片描述

  • 7
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值