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

目录

 一、添加纯文本item

 二、添加带图标的item

 三、开启可编辑


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

 一、添加纯文本item

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

    //添加单个item
	ui.Acquisition_Mode->addItem("软件触发");
	ui.Acquisition_Mode->addItem("外部触发");
	//批量添加item
	ui.Acquisition_Mode->addItems({ "软件触发1","外部触发2"});
	//指定位置插入单个item(在最后插入)
	ui.Acquisition_Mode->insertItem(ui.Acquisition_Mode->count(), "软件触发3");
	//指定位置插入多个item(最前面插入)
	ui.Acquisition_Mode->insertItems(0, { "软件触发4","外部触发5" });

程序运行结果:

Qt中QComboBox 添加数据(纯文本item、带图标的item、可编辑属性)_第1张图片

 

 二、添加带图标的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)
	ui.Acquisition_Mode->setIconSize(QSize(32, 32));
	ui.Acquisition_Mode->addItem(QIcon(":/res/mystop.png"), "测试1");
	ui.Acquisition_Mode->insertItem(ui.Acquisition_Mode->count(), QIcon(":/res/NewFile.png"), "测试2");
	ui.Acquisition_Mode->setItemIcon(1, QIcon(":/res/normal.png"));

 运行结果:

Qt中QComboBox 添加数据(纯文本item、带图标的item、可编辑属性)_第2张图片

 

 三、开启可编辑

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

//打开可编辑
ui.Acquisition_Mode->setEditable(true);

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

运行结果:

你可能感兴趣的:(qt,qt,combobox)