【问题标题】:QCompleter popup positionQCompleter 弹出位置
【发布时间】:2015-11-19 05:21:25
【问题描述】:

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

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

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

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

有什么建议吗?

谢谢。

【问题讨论】:

    标签: qt qwidget qcompleter


    【解决方案1】:

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

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

    【讨论】:

    • 这对我有帮助 - 我正在寻找一种方法让(完成者)组合的下拉菜单向左延伸,因为我想显示滚动条可能覆盖的整个单词
    猜你喜欢
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    相关资源
    最近更新 更多