前言:这一节学习了关于组合框 QComboBox的内容
什么是组合框
QComboBox是一个文本框和一个下拉列表的组合。
用户从下拉列表里选择一个值,被选择的值显示在文本框中。
下拉列表里的东西至少有以下属性:
(1)位置index,第一项的index值为0,往下依次类推,index用于获取里面的东西时作为参数
(2)文本text,这一项的显示值
(3)关联数据data,每一项可以关联一个数据,比如整数、文本等类型的数据。跟前面的text有点类似,只不过data是给程序员看的,text是给用户看的
设置组合框
第一步:在ui下布局
第二步:添加下拉列表中的内容,这里注意,既可以在ui下双击添加,也可以在代码中添加,这里推荐用代码添加,因为代码中添加可以同时设置index和data。(注意:写在构造函数中)
ui->comboBox->addItem("Chinese","ch");//这个函数就是添加用的,第一个参数是text,第二个是data
ui->comboBox->addItem("English","en");
ui->comboBox->addItem("French","fr");
ui->comboBox->insertItem(2,"Japanese","ja");//这个函数也是添加用的,只不过第一个参数是index即是添加的位置,第二个是text,第三个是data
补充:在ui下的属性一栏有个叫editable,勾选了则表示这个下拉框还可以手动编辑。
相关的成员函数
1.int index =ui->comobox->currentIndex();//获取当前选中的他的index
2.QString text = ui->comobox->itemText(index)//返回当前index下的text
3.QString data = ui->comobox->itemData(index).toString()//返回当前index下的data
4.注意,若是我们手动输入的选型,不在下拉列表中,则它没有index,因此若想获得他的内容就不能用上面的方法,应该用:QString value =ui->comobox->currentText();
5.
ui->comBox->currentIndex();
ui->comBox->currentText();
ui->comBox->currentData();
也是可以获取当前的index,text,data的
主要的信号函数
void currentIndexChanged ( int index )
就是当组合框里的内容发生改变时