QT自学笔记(七)

来源:互联网 发布:成都知鼎科技有限公司 编辑:程序博客网 时间:2024/05/22 03:32

前言:这一节学习了关于组合框 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 )

就是当组合框里的内容发生改变时

原创粉丝点击