QCompleter弹出位置

时间:2015-11-18 17:02:56

标签: qt qwidget qcompleter

我在尝试移动QCompleter弹出视图位置时遇到了麻烦。

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

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

在我的项目中,我正在使用包装QLineEdit的QFrame。 我希望完成视图能够获得QFrame的位置。 我成功通过setFixedWidth()函数设置完成视图宽度。 但不要移动这个位置。

有什么建议吗?

感谢。

1 个答案:

答案 0 :(得分:2)

我建议将CompletionMode设置为InlineCompletion,因此不会弹出窗口。然后使你的QListView与QLineEdit无关;只响应指示视图何时键入某些文本的信号,离开QLineEdit等(提示:子类QListView)并在用户从列表中选择值时在QLineEdit中设置文本。

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