QT ComboBox 下拉对话框

目录

一、简介

二、ui界面设计

三、信号函数

四、常用的类成员函数


一、简介

Combo Box是Qt下拉菜单的控件。


二、ui界面设计

打开新建项目中的界面文件(**.ui)

向窗口中拖入一个Combo Box控件,双击Combo Box对象,添加下拉菜单的选项。

可以在属性编辑栏,编辑对象的属性。

          


三、信号函数

选中Combo Box,右键“转到槽”,里边有可选的槽函数。

目前,我只用到currentIndexChanged(QString/ int )以及currentTextChanged(QString)。

这两个函数的用法是:当Combo Box对象当前值发生改变时,会激发上面的信号函数。

下面,我们创建3个Combo Box对象,分别取名为:com_index_int、com_index_string、com_text。其下拉菜单选项分别为A1~A4,B1~B4,C1~C4。如下图所示:

然后依次选中,右键转到槽,分别选择currentIndexChanged(int)、currentIndexChanged(QString)、currentTextChanged(QString)。在mainwindow.cpp的槽函数中添加如下代码:

//若当前对象com_index_int值发生改变则触发此函数
void MainWindow::on_com_index_int_currentIndexChanged(int index)
{
    //将当前索引赋值给变量index,输出当前选项名
    index = ui->com_index_int->currentIndex();
    qDebug()<<"Index"<< index <<": "<< ui->com_index_int->currentText();
}

//若当前对象com_index_string值发生改变则触发此函数
void MainWindow::on_com_index_string_currentIndexChanged(const QString &arg1)
{
    //将当前选项名赋值给变量str,输出当前选项名
    QString str = ui->com_index_string->currentText();
    qDebug()<<"Text:"<< str;
}

//若当前对象com_index_string值发生改变则触发此函数
void MainWindow::on_com_text_currentTextChanged(const QString &arg1)
{
    //将当前选项名赋值给变量str,输出当前选项名
    QString str = ui->com_text->currentText();
    qDebug() <<"Text:"<< ui->com_text->currentText();
}

结果生成exe文件,当改变任意选项时,会调试信息输出:

 


四、常用类成员函数

           表格参考:https://blog.csdn.net/qq_21398167/article/details/47972825

item.count( )返回item数目
item.currentIndex( )返回当前返回索引(从0开始)
item.currentText( )返回当前选择内容
item.itemText(index)返回当前index的内容
item.setCurrentIndex( index )设置index为当前选择
setEditable( true )设置选框可编辑
setEditText( string )设置编辑框内容
setItemText( index,string)设置index内容为string

其余的还有插入,清除,添加item项的函数,在ui界面上设置更为便捷,以后有用到再更新。

//在ui界面添加一个push Button,转到槽,clicked();
//在槽函数内添加一下内容

void MainWindow::on_pushButton_clicked()
{
    int index_count = ui->com_index_int->count();
    qDebug()<<"该item数目为:"<<index_count;

    ui->com_index_int->setCurrentIndex(1);
    qDebug()<<"当前item项索引为:"<<ui->com_index_int->currentIndex();
    qDebug()<<"当前索引所指内容为;"<<ui->com_index_int->currentText();

    qDebug()<<ui->com_index_int->itemText(2);

    ui->com_index_int->setEditable(true);
    ui->com_index_int->setItemText(3,"AAA");
}

运行,点击pushButton,com_index_int变为了可编辑的状态,结果如下:

                       

  • 39
    点赞
  • 183
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值