QComboBox 添加数据(纯文本item、带图标的item、可编辑属性)

QComboBox作为下拉列表框,也是常用的控件之一,最常见的就是win10文件浏览器上的地址输入栏、QQ登录框等。本篇文章将从以下几个方面介绍QComboBox:

1、添加纯文本item

  QComboBox添加纯文本列表项可以单个插入(以QString方式)多个插入(以QStringList方式)单个指定位置插入多个指定位置插入,代码如下:

//添加单个item
ComboBox->addItem("型号1");
ComboBox->addItem("型号2");
//批量添加item
ComboBox->addItems({ "型号3","型号4"});
//指定位置插入单个item(在最后插入)
ComboBox->insertItem(ComboBox->count(), "型号5");
//指定位置插入多个item(最前面插入)
ComboBox->insertItems(0, { "型号6","型号7" }); 

2、添加带图标的item

  通过调用以下接口可以实现添加带图标的item:

void addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
void insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant())

  或者也可以调用以下接口修改或设置已有item的图标:

void setItemIcon(int index, const QIcon &icon)

  代码如下:

//设置图标大小为32*32(默认为16*16)
ComboBox->setIconSize(QSize(32, 32));
ComboBox->addItem(QIcon(":/res/mystop.png"), "测试1");
ComboBox->insertItem(ComboBox->count(), QIcon(":/res/NewFile.png"), "测试2");
//或者
ComboBox->setItemIcon(1, QIcon(":/res/normal.png"));

3、开启可编辑

  QComboBox可以通过打开可编辑属性,实现与QLineEdit相类似的部分功能

//打开可编辑
ComboBox->setEditable(true);

  在打开可编辑属性后,同样可以通过setValidator接口限定其输入格式,通过setCompleter接口设置输入自动补全。

 

posted @ 2025-08-16 17:40  孤情剑客  阅读(278)  评论(0)    收藏  举报