Qt Combobox隐藏指定item

环境:

windows10

qt 5.11.1

问题:

一个combobox控件包含4个item,由于需求更改,需要将第2个item设置为不可选但可见。

解决办法:

//comboBox:控件名称
ui->comboBox->setItemData(1,"v",Qt::UserRole-1);

Qt::UserRole作用:

网上的资料:

Qt UserRole 就是组件 角色 ,在复杂系统中 使用的 比较多,原因也很简单,系统复杂,为了组件区分方便。 在 Qt 中很多类是可以给他添加 角色 值 的 ,比如说QComboBox中 的 setItemData ()与QStandardItemModel中 的 setData ()这两个函数,都是在Index位置上添加 角色 值。

个人理解:

在这里可以理解为索引。Qt::UserRole表示当前数据所在的索引值。假设当前索引为1,则“Qt::UserRole-1”表示0,即当前索引的上一个索引值。

注:“Qt::UserRole+1”无法实现从当前索引跳到下一个索引。

相关资料:

(84条消息) QT模型视图MVC系列教程(4)---角色role的使用(Qt::DisplayRole 类型)_野生猿-群号1025127672-CSDN博客

(84条消息) Qt UserRole详解_fanyun的博客-CSDN博客


版权声明:本文为youarenotme原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。