QComboBox类是Qt框架中的一个组件,用于创建下拉框。以下是一些常用的QComboBox方法、信号和槽函数:
1、
void addltem(const QString &text,const QVariant &userData = QVariant())
- 此方法用于向下拉框中添加一条条目
- 参数“text”是要添加的条目文本
- 参数“userData”是可选的自定义数据,可以是任意类型,用于关联额外的数据到该条目。
例如:
comboBox->addItem(“myItem”);
comboBox->addItem(“myItem”,50);//添加一个带有自定义数据的条目
2、
void addItem(const QIcon &icon,const QString &text,const QVariant &userData = QVariant())
- 此方法用于向下拉框中添加一个带图标的条目
- 参数“icon”是要添加显示的图标
- 参数“text”是要添加的条目文本
- 参数“userData”是可选的自定义数据,与上述方法相同。
例如:
comboBox->addItem(QIcon(“:/icons/item_icon.png”),“Item 1”);
comboBox->addItem(QIcon(“:/iocns/item_icon.png”),“Item 1”,50);//添加带有图标和自定义数据的条目
3、
void addItems(const QStringList &texts )
- 此方法用于向下拉框中添加多个条目。
- 参数“texts”是一个字符串列表,包含要添加的所有条目文本
例如:
QStringList items
items << “Item 1” << “Item 2” << “Item 3”;
comboBox->addItems(items);
4、
void insertItem(int index,const QString& text,const QVariant & userData = QVariant())
- 此方法用于在指定位置插入一个条目到"QComboBox"中
- 参数"index"要插入条目的位置索引,如果索引为-1,则插入到下拉框的末尾
- 参数"text"要插入的条目文本
参数"userData"可选的自定义数据,可以与插入的条目关联起来
例如:
comboBox->insertItem(2,"Item 3");//在第三个位置插入一个文本条目
comboBox->insertItem(-1,"last Item");//在末尾插入一个文本条目
5、
void insertItem(int index,const QIcon & icon,const QString & text,const QVariant &userData = QVariant())
- 此方法用于在指定位置插入一个条目到"QComboBox"中
- 参数"index"要插入条目的位置索引,如果索引为-1,则插入到下拉框的末尾
- 参数"text"要插入的条目文本
- 参数"icon"要显示的图标。这是一个可选参数,可以在插入的条目前面显示一个图标
- 参数"userData"可选的自定义数据,可以与插入的条目关联起来
例如:
comboBox->insertItem(2,QIcon(":/icons/item_icon.png"),"Item 3");//在第三个位置插入一个带图标的条目
comboBox->insertItem(-1,QIcon(":/icons/item_icon.png"),"last Item",50);//在末尾插入一个带图标和自定义数据的条目
6、
void insertItems(int index,const QStringList & list)
- 此方法用于在指定位置插入多个条目
- 参数"index"要插入条目的位置索引,如果索引为-1,则插入到下拉框的末尾
- 参数"list"是一个字符串列表,包含要插入的所有条目文本
例如:
QStringList itemlist;
itemlist<<"item 1"<<"item 2"<<"item 3"
comboBox->insertItems(0,itemlist);//在第一个位置插入三个文本条目
7、
void removeItem(int index)
- 此方法用于移除指定索引处的条目。
- 参数“index”是要移除的条目索引。
例如:
comboBox->removeItem(2);//移除索引为2的条目
8、
void clear()
- 此方法用于清除下拉框所有条目
例如:
comboBox->clear();
9、
void setCurrentIndex(int index)
- 此方法用于设置当前选中的条目索引。
- 参数“index”是要设置为当前选中的条目索引。
例如:
comboBox->setCurrentIndex(0);//设置第一个条目为当前选中的条目
10、
void setCurrentText(const QString & text)
- 此方法用于设置当前选中的条目文本
- 参数"text"是要设置为当前选中的条目文本
例如:
comboBox->setCurrentText("Item 2");//设置文本为“Item 2”的条目为当前选中的条目
11、
int count() const
- 此方法返回条目数量
例如:
int itemCount = comboBox->count();//获取条目数量
12、
QVariant itemData(int index,int role = Qt::UserRole) const
- 次方法返回指定索引处的条目的自定义数据
- 参数"index"是要获取数据的条目索引
- 参数"role"是要获取的数据角色,默认为“Qt::UserRole”
例如:
QVariant userData = comboBos->itemData(1);//获取索引为1的条目的自定义数据
13、
QIcon itemIcon(int index) const
- 此方法返回指定索引处的条目的图标
- 参数"index"是要获取图标的条目索引
例如:
QIcon icon = comboBox->itemIcon(0);//获取索引为0的条目的图标
14、
QString itemText(int index) const
- 此方法返回指定索引处的条目文本
- 参数"index"是要获取文本的条目索引
例如:
QString text = comboBox ->itemText(1);//获取索引为1的条目的文本
15、
bool isEditable() const
- 此方法返回下拉框是否可编辑的状态
例如:
bool editable = comboBox ->isEditable();//获取下拉框是否可编辑状态
信号
1、
void activated(int index)
- 作用:当用户选择了一个条目时触发,返回选中的条目的索引
- 用法:通常与"activated"信号关联的槽函数应该接受一个整数参数,代表被激活(选择)的条目的索引
例如:
connect(comboxBox,QOverload<int>::of(&QComboBox::activated),[=](int index){
qDebug()<<"Activated index:"<<index;
});
2、
void activated(const QString & text)
- 作用:当用户选择了一个条目时触发,返回选中的条目的文本
- 用法:通常与"activated"信号关联的槽函数应该接受一个字符串参数,代表被激活(选择)的条目的文本
例如:
connect(comboxBox,QOverload<const QString &>::of(&QComboBox::activated),[=](const QString &text){
qDebug()<<"Activated text:"<<text;
});
3、
void currentIndexChanged(int index)
- 作用:若当前选中的条目索引发生变化时触发
- 用法:通常与"currentIndexChanged"信号关联的槽函数应该接受一个整数参数,代表新的当前选中的条目索引。
例如:
connect(comboBox,QOverload<int>::of(&QComboBox::currentIndexChanged),[=](int index){
qDebug() << "current index changed:"<<index;
})
4、
void currentTextChanged(const QString & text)
- 作用:若当前选中的条目文本发生变化时触发
- 用法:通常与"currentTextChanged"信号关联的槽函数应该接受一个字符串参数,代表新的当前选中的条目文本。
例如:
connect(comboBox,QOverload<const QString &>::of(&QComboBox::currentIndexChanged),[=](const QString &text){
qDebug() << "current text changed:"<<text;
})
槽函数
1、
void addItemSlot(const QString &text)
作用:向下拉框中添加一个条目
例如:
void MyClass::addItemSlot(const QString &text)
{
comboBox->addItem(text);
}
2、
void removeItemSlot(int index)
- 作用:移除下拉框中指定索引处的条目
例如:
void MyClass::removeItemSlot(int index)
{
comboBox->removeItem(index);
}
3、
void clearItemSlot()
- 作用:清空下拉框中的所有条目
例如:
void MyClass::clearItemSlot()
{
comboxBox->clear();
}
4、
void setCurrentIndexSlot(int index)
- 作用:设置下拉框中当前选中的条目索引
例如:
void MyClass::setCurrentIndexSlot(int index)
{
comboxBox->setCurrentIndex(index);
}