问题标签 [qcompleter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4397 浏览

qt - 我可以让 QCompleter 完全内联并显示一个弹出窗口吗

Qt 4.5 (PyQt 4.6.1)

我正在寻找一个类似于 a 的小部件,QComboBox它会自动将其条目过滤为以文本字段中的输入开头的条目。组合框中大约有 300 个项目。

我尝试了两种方法:

QLineEditQCompleter

优点

  • 过滤项目有效。

缺点

  • 如果文本字段为空,则不显示弹出窗口。
  • 不进行内联完成。
  • 允许插入不在列表中的项目。

可编辑QComboBox,插入设置为no

优点

  • 不错的弹出窗口
  • 在文本字段中完成内联。

缺点

  • 无过滤
  • 只能在文本字段弹出窗口中输入。单击弹出窗口不会选择弹出窗口中最匹配的项目。

我需要的

  • 用于选择项目的弹出窗口。
  • 缓慢的小费者应该能够开始小费一个项目的名称,并且弹出窗口会切换到最匹配的那个。
  • 最好我应该过滤这些项目,以便只显示部分匹配的项目。
0 投票
3 回答
6244 浏览

qt - 如何动态更新 QCompleter 的模型

我使用QCompleterwith QLineEdit,我想QCompleter动态更新 's 模型。即模型的内容根据QLineEdit's text 更新。

1) mdict.h

2) mdict.cpp

我希望当我输入时,它应该给我一个带有 ,和h的自动完成列表h0,并且我可以使用键盘来选择项目。但它的行为不像我预期的那样。h1h2

似乎应该在QLineEdit发出textChanged信号之前设置模型。一种方法是重新实现keyPressEvent,但它涉及到许多条件来获取QLineEdit' 的文本。

那么,我想知道是否有一种简单的方法可以QCompleter动态更新模型?

0 投票
1 回答
865 浏览

c++ - QCompleter 强制双输入

我有一个 QCompleter 强制我的用户在弹出窗口可见但不用于选择项目时按两次输入。与已完成关联的 QComboBox 的模型用作完成者的模型。

随着用户输入项目,可能完成的列表会增加。如果他们开始在有更长的补全可用的情况下键入短补全(例如“dir”),并且他们在没有从弹出窗口中选择任何内容的情况下点击(即,既没有激活,也没有突出显示,也没有触发 indexchanged),那么他们将被迫再次点击 enter 以处理他们输入的文本。有没有一种简单的方法来解决这个问题?

谢谢

0 投票
3 回答
2858 浏览

qt - Qt QCompleter 多重匹配

我试图让 QCompleter 匹配几个用逗号分隔的等效选项。似乎没有简单的方法可以做到这一点,但是 QCompleter 参考中的一行代码引起了我的注意,它描述了函数 QCompleter::splitPath:“当与列表模型一起使用时,返回列表中的第一项用于匹配。” 这可以按我需要的方式使用吗 - 拆分输入字符串并返回它,以便未完成的最后一项是列表中的第一项?我没有设法让它工作,但我可能做错了什么。

0 投票
6 回答
13788 浏览

qt - QCompleter 自定义完成规则

我正在使用 Qt4.6,我有一个 QComboBox,里面有一个 QCompleter。

通常的功能是基于前缀提供完成提示(这些可以在下拉列表中而不是内联 - 这是我的用法)。例如,给定

输入ch将匹配chicken soupchilli peppers但不匹配grilled chicken

我想要的是能够输入ch并匹配所有这些,或者更具体地说,chicken匹配chicken soupand grilled chicken
我还希望能够分配一个标签chschicken soup生成另一个匹配,而不仅仅是在文本内容上。我可以处理算法,但是,

我需要重写 QCompleter 的哪些函数?
我不确定我应该在哪里寻找......

0 投票
2 回答
4073 浏览

model-view-controller - QLineEdit 中的模型/视图 QCompleter

Ubuntu 10.04,KDE 4.4.5

蟒蛇2.6.4

qt 4.6.2

pyqt 4.6.2

我正在尝试创建一个 QCompleter,如果我只是构建 QLineEdit,它就可以正常工作。但是,如果我将 QLineEdit 放到 QMainWindow 中,QCompleter 将不再工作。

这是 LineEdit 类

如果我以这种方式构建 LinEdit,QCompleter 就可以工作

这编译得很好,但不再显示 QCompleter

0 投票
2 回答
3784 浏览

qt - 如何在 PyQt 中自定义 QCompleter 弹出窗口?

对于 QLineEdit 的 QCompleter,我有一些我有兴趣定制的东西。我想让它的行为类似于 Chrome 中的地址/搜索栏。

  1. 如何限制显示的行数?例如,即使有 15 个匹配项,我也只希望 QCompleter 显示 5 个。
  2. 如何调整弹出窗口的大小?例如,我想让弹出窗口美观舒适。根据上面的示例,我希望弹出窗口完全调整为 5 行而不显示任何难看的滚动条。
  3. 如何移动弹出窗口?例如,我想调整弹出窗口的垂直位置,使其略低于父窗口小部件。
  4. 如何格式化显示的弹出窗口的列表项?例如,我想将匹配的单词部分加粗。
0 投票
1 回答
368 浏览

c++ - 自定义 QCompleter 奇怪的行为

我都是,我只是按照这个很好的例子: http:
//qt-project.org/doc/qt-4.8/tools-customcompleter.html
我完全复制了代码,除了modelFromFile方法的一些变化,这里是:

奇怪的是,当我输入“fal”时,我正在等待“fallthrough”弹出,但我什么也没看到。它可以与“break”和一些但不是所有的词一起使用。
我正在使用 Kubuntu 12.04,而我的 Ubuntu 12.04 合作伙伴得到了这种行为。
Qt Creator 2.4.1
基于 Qt 4.8.0(32 位)

0 投票
1 回答
3392 浏览

pyqt - PyQt LineEdit 与 readline 完成器?

我一直在开发一个命令行工具,现在我正在为它制作一个 PyQT GUI。我想使用 readline 模块获取当前的自动完成实现,并将其放入 QLineEdit 文本框中。这可能吗?你有什么建议?

这是我使用 readline 模块所做的一个示例:

最终,如果我不能让 readline 模块在 QLineEdit 小部件中工作,我最终想要做的是完成一个单词列表,能够让多个单词用 +-*/( ) ETC...

谢谢!

0 投票
1 回答
2436 浏览

c++ - 从 QCompleter 选择项目后无法清除 QLineEdit

当您选择一个项目(使用箭头键)并按回车时使用 PopupCompletion 模式 - lineEdit 应该为空(按下回车时我清除 lineEdit),但 lineEdit 不会为空。(如果您再次按“Enter”,它将清空 lineEdit)。所以我认为按回车确实清除了lineEdit,但按回车也告诉QCompleter将所选项目插入lineEdit,所以似乎什么也没发生。

但是,如果您单击使用箭头选择它的项目 - 一切正常。

我试图在互联网上找到解决方案,但我发现只有一个人有同样的问题: http: //lists.trolltech.com/qt-interest/2006-10/thread00985-0.html。遗憾的是没有答案。请阅读他的问题,因为这将有助于理解我的问题。

QCompleter 插入所选项目后如何清理 LineEdit?(捕捉激活信号无济于事)