小编Nis*_*had的帖子

使用 QComboBox C++ 过滤

我想创建一个可编辑的 QComboBox,它根据搜索查询过滤结果并相应地更新下拉条目。

阅读如何根据文本输入过滤 PyQt QCombobox 项目后?我试图在 C++ 中实现类似的东西。

但是我现在不能在 QComboBox 中存储任何东西。即使通过 addItem() 添加新条目后,总计数仍然为 0。

这是什么原因,我如何使用 QSortFilterProxyModel 在 QComboBox 中插入条目?

这是代码的相关片段:

SearchBox = new QComboBox(this);
SearchBox->setEditable(true);

// Try adding a few entries and check if they persist after changing the model
SearchBox->addItem(QString("hi"));
SearchBox->addItem(QString("bye"));

int count = SearchBox->count();    // count = 2

ProxyModel = new QSortFilterProxyModel;
ProxyModel->setSourceModel(SearchBox->model());
ProxyModel->setFilterCaseSensitivity(Qt::CaseSensitivity::CaseInsensitive);
SearchBox->setModel(ProxyModel);

// Check count again
count = SearchBox->count();    // count = 0     <- Why?

// Try adding new entries
SearchBox->addItem(QString("Hi again"));

count …
Run Code Online (Sandbox Code Playgroud)

c++ qt filter qcombobox qsortfilterproxymodel

5
推荐指数
1
解决办法
3516
查看次数

标签 统计

c++ ×1

filter ×1

qcombobox ×1

qsortfilterproxymodel ×1

qt ×1