c++ - qt组合框可读但可编辑

标签 c++ qt combobox

我在 QComboBox 中有一些项目(由程序添加 - 这是很多添加的项目(大约 1000 个))

所以我使组合框可编辑 -> 然后很容易找到正确的项目。 (例如,如果我想找到名为“My Example”的项目,我会在组合框“MY”中写入,然后我会得到以“MY”开头的项目)

但是当我写一些东西而不是在组合框中时,组合框添加这个项目。

我不想,我只想:

  1. 只能选择程序添加的 ITEMS
  2. 阻止添加自定义项
  3. 当我写了类似“MY”的东西但没有选择项目“My Example”,因为有“My Example”,“My Example2”

然后按下按钮接受我的选择 - 那么如何检查我从程序添加的项目中选择的项目不是由用户编写和完成的?

最佳答案

将这些 QComboBox 属性设置为以下内容:
1. 将setEditable设置为true
2. 将insertPolicy设置为NoInsert
3. 将currentIndex设置为-1,使其在开始时为空。

然后处理 currentIndexChanged 信号,只有当列表中的某个项目被选中时才会发送该信号。

关于c++ - qt组合框可读但可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25275599/

相关文章:

c++ - 将自定义 C++ 类型作为 QML 函数参数传递

c++ - Qt 属性语法的正确使用

c++ - QList 作为函数参数 - 链接错误 - LNK2019

vb.net - 如何在数据绑定(bind)组合框中选择值?

c++ - Boost::asio winsock 和 winsock 2 兼容性问题

c++ - Openframeworks,从Arduino读取串口数据

c++ - 同一类的相同实例但行为不同。可能的 UB

c++ - Git 破坏了我的程序?

c# - 列表框 IsSynchronizedWithCurrentItem 导致选择第一项,即使没有告诉它这样做

c# - 如何不触发 comboBox.SelectedIndexChange 并更新它?