QT ComboBox 下拉对话框
·
目录
一、简介
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变为了可编辑的状态,结果如下:
更多推荐
已为社区贡献4条内容
所有评论(0)