QT ComboBox 下拉对话框

本文介绍了 Qt 中 ComboBox 控件的基本使用方法,包括 UI 设计、信号与槽的应用及常见类成员函数的操作技巧。通过实例展示了如何响应 ComboBox 的变化,并提供了一些实用的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、简介

二、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变为了可编辑的状态,结果如下:

                       

VSCode是一款强大的前端开发IDE,也可以通过安装插件来提高使用体验和增加娱功能。根据引用中的推荐,以下是一些不错的VSCode摸鱼插件: 1. "投资"方向的插件:这些插件可以帮助你在代码编写的间隙里跟踪股票市场、查看实时行情以及获取投资建议等。你可以在VSCode的插件市场中搜索并安装相关插件,根据自己的需求选择适合的插件。 2. "读书看资讯"方向的插件:这些插件可以让你在摸鱼的同时获取有趣的资讯,如新闻、科技、健康等领域的文章。通过阅读这些资讯,你可以增加知识储备和放松身心。同样,你可以在VSCode的插件市场中搜索并安装相关插件。 3. "休闲娱乐"方向的插件:这些插件可以为你提供一些娱乐活动,如小游戏、音乐播放器等。你可以在闲暇时间里享受这些娱乐活动,放松大脑,提高工作效率。同样,你可以在VSCode的插件市场中搜索并安装相关插件。 请注意,尽管这些插件可以提供一些娱乐功能,但在工作中要适度使用,以免影响开发效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [VSCode中值得推荐的11个摸鱼插件](https://blog.csdn.net/xiadaocc/article/details/125452221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [VS Code 高效“摸鱼”插件推荐](https://blog.csdn.net/codingpy/article/details/118097795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [vscode-plugin-swimming:vscode插件。模拟写代码,划水,摸鱼神器](https://download.csdn.net/download/weixin_42116805/18422906)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值