问题标签 [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.
qt - 我可以让 QCompleter 完全内联并显示一个弹出窗口吗
Qt 4.5 (PyQt 4.6.1)
我正在寻找一个类似于 a 的小部件,QComboBox
它会自动将其条目过滤为以文本字段中的输入开头的条目。组合框中大约有 300 个项目。
我尝试了两种方法:
QLineEdit
和QCompleter
优点
- 过滤项目有效。
缺点
- 如果文本字段为空,则不显示弹出窗口。
- 不进行内联完成。
- 允许插入不在列表中的项目。
可编辑QComboBox
,插入设置为no
优点
- 不错的弹出窗口
- 在文本字段中完成内联。
缺点
- 无过滤
- 只能在文本字段或弹出窗口中输入。单击弹出窗口不会选择弹出窗口中最匹配的项目。
我需要的
- 用于选择项目的弹出窗口。
- 缓慢的小费者应该能够开始小费一个项目的名称,并且弹出窗口会切换到最匹配的那个。
- 最好我应该过滤这些项目,以便只显示部分匹配的项目。
qt - 如何动态更新 QCompleter 的模型
我使用QCompleter
with QLineEdit
,我想QCompleter
动态更新 's 模型。即模型的内容根据QLineEdit
's text 更新。
1) mdict.h
2) mdict.cpp
我希望当我输入时,它应该给我一个带有 ,和h
的自动完成列表h0
,并且我可以使用键盘来选择项目。但它的行为不像我预期的那样。h1
h2
似乎应该在QLineEdit
发出textChanged
信号之前设置模型。一种方法是重新实现keyPressEvent
,但它涉及到许多条件来获取QLineEdit
' 的文本。
那么,我想知道是否有一种简单的方法可以QCompleter
动态更新模型?
c++ - QCompleter 强制双输入
我有一个 QCompleter 强制我的用户在弹出窗口可见但不用于选择项目时按两次输入。与已完成关联的 QComboBox 的模型用作完成者的模型。
随着用户输入项目,可能完成的列表会增加。如果他们开始在有更长的补全可用的情况下键入短补全(例如“dir”),并且他们在没有从弹出窗口中选择任何内容的情况下点击(即,既没有激活,也没有突出显示,也没有触发 indexchanged),那么他们将被迫再次点击 enter 以处理他们输入的文本。有没有一种简单的方法来解决这个问题?
谢谢
qt - Qt QCompleter 多重匹配
我试图让 QCompleter 匹配几个用逗号分隔的等效选项。似乎没有简单的方法可以做到这一点,但是 QCompleter 参考中的一行代码引起了我的注意,它描述了函数 QCompleter::splitPath:“当与列表模型一起使用时,返回列表中的第一项用于匹配。” 这可以按我需要的方式使用吗 - 拆分输入字符串并返回它,以便未完成的最后一项是列表中的第一项?我没有设法让它工作,但我可能做错了什么。
qt - QCompleter 自定义完成规则
我正在使用 Qt4.6,我有一个 QComboBox,里面有一个 QCompleter。
通常的功能是基于前缀提供完成提示(这些可以在下拉列表中而不是内联 - 这是我的用法)。例如,给定
输入ch
将匹配chicken soup
,chilli peppers
但不匹配grilled chicken
。
我想要的是能够输入ch
并匹配所有这些,或者更具体地说,chicken
匹配chicken soup
and grilled chicken
。
我还希望能够分配一个标签chs
来chicken soup
生成另一个匹配,而不仅仅是在文本内容上。我可以处理算法,但是,
我需要重写 QCompleter 的哪些函数?
我不确定我应该在哪里寻找......
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
qt - 如何在 PyQt 中自定义 QCompleter 弹出窗口?
对于 QLineEdit 的 QCompleter,我有一些我有兴趣定制的东西。我想让它的行为类似于 Chrome 中的地址/搜索栏。
- 如何限制显示的行数?例如,即使有 15 个匹配项,我也只希望 QCompleter 显示 5 个。
- 如何调整弹出窗口的大小?例如,我想让弹出窗口美观舒适。根据上面的示例,我希望弹出窗口完全调整为 5 行而不显示任何难看的滚动条。
- 如何移动弹出窗口?例如,我想调整弹出窗口的垂直位置,使其略低于父窗口小部件。
- 如何格式化显示的弹出窗口的列表项?例如,我想将匹配的单词部分加粗。
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 位)
pyqt - PyQt LineEdit 与 readline 完成器?
我一直在开发一个命令行工具,现在我正在为它制作一个 PyQT GUI。我想使用 readline 模块获取当前的自动完成实现,并将其放入 QLineEdit 文本框中。这可能吗?你有什么建议?
这是我使用 readline 模块所做的一个示例:
最终,如果我不能让 readline 模块在 QLineEdit 小部件中工作,我最终想要做的是完成一个单词列表,能够让多个单词用 +-*/( ) ETC...
谢谢!
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?(捕捉激活信号无济于事)