QComboBox 上的假输入

Fake enter on QComboBox

在我的应用程序中,我有一个搜索功能,您可以在 QComboBox(列表中有历史记录)中输入搜索文本,我还有一个搜索按钮。如果我写一个搜索字符串并按回车键,我会得到一个 currentIndexChanged 并可以开始搜索。如果我 select 列表中的一个项目,则相同。如果我按下搜索按钮,我可以从组合框中获取当前项目并开始搜索。

但是,我要解决一种特殊情况。如果我在不按 enter 键的情况下编写搜索文本,然后按搜索按钮,则所写文本不会出现在当前索引的列表中。我认为解决此问题的最简单方法是搜索按钮会触发组合框上的输入事件,但我还没有找到执行此操作的方法...

我在按钮事件处理程序中这样做解决了这个问题:

self.comboBox_find.keyPressEvent(QKeyEvent(QEvent.KeyPress, QtCore.Qt.Key_Enter, QtCore.Qt.NoModifier))