1.QComboBox
QComboBox 是一种下拉列表框控件,它提供一个下拉列表供用户选择,也可以直接当作一个 QLineEdit 用作输入。QComboBox 除了显示可见下拉列表外,可以在插入item的时候对每个item绑定一个自定义的QVariant数据,这样除了显示数据外,还可以通过该item获取一些实际中的隐藏数据,用于业务处理。下拉列表框的功能介绍如下:
1.1QComboBox常用函数
//1 默认设置处于下标几的选项
ui->comboBox->setCurrentIndex(2);
//2 获得combox控件总索引数
int iSum = ui->comboBox->count();
//3 获取当前下标索引号
int index = ui->comboBox->currentIndex();
//4 获取当前文本内容
ui->comboBox->currentText()
//清楚列表
ui->comboBox->clear()
//打开可编辑属性
ui->comboBox->setEditable(true);
//设置当前显示的内容,记得结合可编辑属性一起使用
ui->comboBox->setCurrentText(QString);
注:在打开可编辑属性后,同样可以通过setValidator接口限定其输入格式,通过setCompleter接口设置输入自动补全。
在这里需要说明的是,默认情况下,QComboBox的编辑模式并不会删除或改变已有的item,而是在用户按下回车后,在最顶端或下方添加刚刚编辑的内容。如果想要改变默认属性,可以通过setInsertPolicy接口进行修改。
QComboBox::NoInsert 字符串将不会插入到组合框中
QComboBox::InsertAtTop 字符串将作为组合框中的第一项插入
QComboBox::InsertAtCurrent 当前项将被字符串替换
QComboBox::InsertAtBottom 字符串将被插入到组合框中的最后一项之后
QComboBox::InsertAfterCurrent 在组合框中的当前项之后插入字符串
QComboBox::InsertBeforeCurrent 在组合框中的当前项之前插入字符串
QComboBox::InsertAlphabetically 按字母顺序在组合框中插入字符串
1.2 添加item
(1)调用QComboBox的addItem方法去新增一项,可设置该项的图标和不可见数据等,这种方法就是一项一项去添加,如果有多项则需要多次调用
(2)调用QComboBox的addItems方法去新增多项,该函数参数是一个QStringList,支持多项添加,如果需要设置每项的图标和不可见数据时,可再次调用setItemIcon和setItemData去设置,这两个函数时通过索引的方式去设置。
所以如果是需要设置每项的图标和不可见数据时,建议直接调用addItem去进行添加,如果只是需要添加显示项,不需要设置图标和不可见数据,则可直接调用addItems去添加。
本文档持续更新