QCompleter弹出位置

QCompleter popup position

我在尝试移动 QCompleter 弹出视图位置时遇到问题。

我尝试了 QCompeter:complete,它会在我想要的位置弹出完整视图。 但是,如果我开始输入它,请关闭它,并在 'default' 位置打开完成器。

我也尝试了QCompleter:setPopup()功能。 我创建了一个 QListView 并尝试移动到不同的位置。 而且 QCompleter 弹出视图仍然保持在相同的位置。

在我的项目中,我使用了包装 QLineEdit 的 QFrame。 我希望完成者视图将获得 QFrame 位置。 我成功地通过 setFixedWidth() 函数设置了完成者视图宽度。 但不移动位置。

有什么建议吗?

谢谢。

我建议将CompletionMode设置为InlineCompletion,这样就不会弹出了。然后使您的 QListView 独立于 QLineEdit;仅对指示视图何时键入某些文本、离开 QLineEdit 等的信号做出反应(提示:子类 QListView)并在用户从列表中选择一个值时在 QLineEdit 中设置文本。

我认为由于 QCompleter 拥有您的 QListView 的所有权,所以很难覆盖放置。 (我个人认为将完成列表放在输入字段旁边的其他地方没有多大意义,但是唉......)