QT QCombobox怎么让某些项不显示
时间: 2024-09-20 09:13:19 浏览: 46
在Qt中的QComboBox控件中,如果你想让某些特定选项不显示,你可以通过设置`model`(模型)的方式来实现。QComboBox通常与QAbstractItemModel一起使用,你可以创建一个自定义模型,比如QStandardItemModel,然后根据需要设置其数据。
下面是一个简单的步骤:
1. 创建模型:首先,创建一个QStandardItemModel并添加数据项:
```cpp
QStandardItem *item1 = new QStandardItem("隐藏项1");
item1->setHidden(true); // 设置为不可见
QStandardItem *item2 = new QStandardItem("正常项1");
QStandardItem *item3 = new QStandardItem("正常项2");
QStandardItemModel *model = new QStandardItemModel(this);
model->appendRow(item1);
model->appendRow(item2);
model->appendRow(item3);
```
这里,`setHidden(true)`将"隐藏项1"设为不可见。
2. 将模型绑定到QComboBox:
```cpp
QComboBox comboBox;
comboBox.setModel(model);
comboBox.setInsertPolicy(QComboBox::InsertAtBottom); // 设置插入策略为底部
```
现在,"隐藏项1"不会出现在下拉列表中,而其他项目会正常显示。
阅读全文