QComboBox 设置选中的item可以通过以下几种方法进行:
-
通过索引设置选中项
:
-
使用
setCurrentIndex(int index)
方法可以设置QComboBox当前选中的项。这里的
index
参数代表要选中的项在下拉列表中的位置(从0开始计数)。例如,如果想选中第一个项,可以使用
comboBox->setCurrentIndex(0);
。
-
通过文本设置选中项
:
-
如果知道要选中的项的文本内容,可以使用
setCurrentText(const QString &text)
方法来设置。例如,
comboBox->setCurrentText("要选中的文本");
。但请注意,如果下拉列表中存在多个相同文本的项,这种方法可能会选中第一个匹配的项。
为了确保准确选中预期的项,通常推荐使用
setCurrentIndex
方法,因为索引是唯一的,而文本内容可能存在重复。
在实际应用中,你可能需要在初始化QComboBox或者响应某些事件(如用户操作、数据更新等)时设置选中的项。通过这两种方法,你可以灵活地控制QComboBox的选中状态,以提供更好的用户体验。
QComboBox
是下拉列表框组件类,它提供一个下拉列表供用户选择,也可以直接当作一个 QLineEdit 用作输入。
QComboBox
除了显示可见下拉列表外,每个
项
(
item
,或称列表
项
)还可以关联一个 QVariant 类型的变量,用于存储一些不可见数据。
2.常用方法
添加
带图标的
项
QIcon icon;
icon.
add
File(":/images/icon.jpg");
ui->
com
bo
Box
->
add
I....
QComboBox
作为下拉列表框,也是常用的控件之一,最常见的就是win10文件浏览器上的地址输入栏、QQ登录框等。本篇文章将从以下几个方面介绍
QComboBox
:
[1]
添加
纯文本
item
[2]
添加
带图标的
item
[3]信号
[4]
item
携带自定义数据
[5]编辑
[1]
添加
纯文本
item
QComboBox
添加
纯文本列表
项
可以单个插入(以QString方式)、多个插入(以Q...
三、开启可编辑
QComboBox
作为下拉列表框,也是常用的控件之一,最常见的就是win10文件浏览器上的地址输入栏、QQ登录框等。本篇文章将从以下几个方面介绍
QComboBox
:
一、
添加
纯文本
item
QComboBox
添加
纯文本列表
项
可以单个插入(以QString方式)、多个插入(以QStringList方式)、单个指定
位置
插入、多个指定
位置
插入,代码如下:
//
添加
单个
item
ui.Acquisition_M...
QCombobox
可以很简单的
add
Item
s();
函数原型:void
QComboBox
::
add
Item
(const QString &text, const QVariant &userData = QVariant())
第一个参数是会显示在选
项
中的QString,第二个选
项
是用户自定义数据
如果数据是存储在数据库中,那么为了对数据
项
进行操作,需要根据每一
项
的id进行
那么就需要把id存入每一
项
中
int id=query.value(0).toInt();
本文详细的介绍了
QComboBox
控件的各种操作,例如:下拉框
添加
内容、默认显示、获取下拉框总行数、获取
选中
索引
、获取当前内容、清除列表、重绘下拉框等操作。本文作者原创,转载请附上文章出处与本文链接。4. 获取
com
bo
Box
控件当前
选中
索引
。3. 获取
com
bo
Box
控件总
索引
数。7. 重绘下拉框控件。
文本更改的时机,与 currentText 属性改变的时机相同,详见 currentTextChanged 信号。 若组合框是可编辑的,则
设置
函数 setCurrentText()只需调用 setEditText()函数。 注意: 以上信号发送的条件是 currentIndex 或 currentText 属性改变, 下面是其改。
在
Qt
项
目中很少会用
Qt
原生的控件风格,有时候需要自己去
设置
控件的有的属性和风格,但是当
设置
QComboBox
控件时有时候会遇到下拉框中的
item
不起作用,主要原因是没有
设置
QListView,具体如下:
1.首先给
Com
bo
Box
设置
view:
ui->
com
bo
Box
->setView(new QListView());
注意:这一句需要放在在所在界面的构造函数里,否则不生效。
2.给
com
bo
Box
设置
样式,可以在creater里
设置
,也可以调用接口
设置
: