覆盖
我想使用 QComboBox 实现过滤器小部件。它应该工作的方式是,当我输入字母"a"时,它应该显示以"a"开头的项目,然后如果我输入"b",它应该显示带有前缀"ab"等的项目。我尝试覆盖QComboBox
类的keyPressEvent
,但没有奏效。我遇到的主要问题是,如何在下拉列表出现时使QComboBox
可编辑?我像这样在按键事件中打开下拉列表,
void SearchCombo::keyPressEvent(QKeyEvent *e)
{
...
listBox()->popup();
...
}
我找到了解决方案。我所做的是,将QListBox
的(QComboBox
有一个列表框)的keyPressEvent的QKeyEvent
传递给QComboBox
的LineEdit。在 LineEdit 中,使用该QKeyEvent
调用keyPressEvent