问题标签 [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.
c++ - 如何使用 Qt 的 QCompleter 在任何地方进行部分匹配?
我们想使用 QCompleter 在项目列表中进行搜索,一切都很好,除了一件事:
QCompleter 使用“在开头部分匹配”而不是“在任何地方部分匹配”进行搜索。爱荷华州:
实际:搜索“ doc ”将返回“ dock ”、“ doctor ”等。
预期:搜索“ doc ”将返回“ dock ”,但也会返回“ undocked ”等。
qt - 是否可以从 QCompleter 获取所选文本的主键
我正在使用 QCompleter 在线编辑来获取一些文本。完整的功能可以正常工作。
QCompleter 正在从 Sql 表中获取数据。
现在在 line_edit_returnPressed() 上,我能够获取选定的文本。是否可以进一步获取 Sql Table 中的主键/行索引以用于从“QCompleter”进行的当前选择?
我看到它ui->line_edit->completer()->currentRow();
总是返回 0。
我只是想保存一个 SQL 查询,仅此而已。
pyside - 退出时 PySide 崩溃(使用 QCompleter)
我已经使用 PySide(Python 2.7.3、PySide 1.1.2、Qt 4.8.1)从 Qt 文档中复制了“自定义完成程序示例”。
我有一个问题,即退出时抛出 win32 异常(或在 Mac OS X 上出现访问冲突异常)。在 Mac 上,我可以看到堆栈跟踪,并且问题发生在垃圾收集期间,其中对 QObjects 的引用显然不一致,以至于事情变得糟糕。
仅当接受完成者插入时,我才能使用以下自包含脚本看到此崩溃。即键入前几个字母,然后接受完成。
另一方面,如果我看到了完成列表弹出窗口,但没有接受完成,退出时不会发生崩溃。
qt - 为什么 QCompleter 与代表的工作方式不同?
我正在尝试为 QLineEdit 实现自动完成。
在这里看我的代码:
对于此代码,ExpressionLineEdit 和 Completer 可以正常工作(如预期的那样)。
但是当我尝试将 QTreeView 和 QSyledItemDelegate 设置为时,行为发生了变化。我试图重新实现QSyledItemDelegate的eventFilter函数,但它不说话。我尝试将 ExpressionLineEdit 设置为其他 QWidget 并将 QWidget 设置为 QTreeView (因为 QSyledItemDelegate 不能直接与 ExpressionLineEdit 一起使用),但它再次没有帮助。
这是带有 QTreeView 和 QSyledItemDelegate 的代码。
请帮助理解为什么相同的代码在这两种情况下的工作方式不同。请帮助修复 Completer 的行为。
c++ - QCompleter 不工作
它没有显示任何弹出窗口或错误。它默默地无所事事。
inRawText 是 QTextEdit 类的实例。
编辑:不发出信号(激活并突出显示)。
编辑:仅当我调用 complete() 插槽时才会显示弹出窗口。这很愚蠢,我必须重新实现 QTextEdit 类,它是 keyPressEvent 处理程序......该死的 QT......
c++ - QCompleter,如何从数据库中获取 Id
在网上搜索了很多都没有找到正确答案之后,我来寻求你们的帮助......所以让我们看看我是否能解释一下。
我正在使用 Qt 5 开发 UI,我想要一个lineEdit
自动完成的 UI。我知道我可以使用QCompleter
,而且效果很好。QCompleter
我用做for
迭代的查询填充。但我需要知道该字段的 ID。
如果我正在对具有Product_Name
和 的数据库进行查询Product_Code
,用户将键入产品的名称,并且在每种情况下我都会用新数据text_edit
填充。QCompleter
但是,当用户选择产品时,我想在其他地方显示代码。当然,可能有两个或多个同名但代码不同的产品,所以我搜索后无法找到代码。
那么,有没有办法在一个中拥有两个相关的字段QCompleter
?
我已经尝试QTableWidget
使用隐藏列(带有代码)制作 a 并将其显示在底部QlineEdit
(以模拟Qcompleter
)。它看起来不错,并且可以工作...但是我不知道如何添加具有的功能QCompleter
,例如向下箭头会跳入表格,并在lineEdit
失去焦点时使其消失,但在选择表格时不会消失。
python - 具有自动完成功能的 QComboBox 在 PyQt4 中有效,但在 PySide 中无效
我有一个带有自定义完成器的组合框,它在 PyQt4 中运行良好,但在 PySide 中不起作用。
我已经验证新的完成器正在替换 QComboBox 的内置完成器,因为不再发生内联完成。但是,当使用 PySide 运行时,完成程序不会弹出过滤的选项列表。
我还尝试确保所有文本都是全部str
或全部unicode
,以避免 PyQt API 1 与 QStrings 和 PySide 使用 Python unicode 类型之间的差异。更改文本类型对 PyQt 或 PySide 的行为没有影响(PyQt 继续工作,PySide 不工作)。
这是我的代码:
qt - 寻找具有分段完成/树模型的 QCompleter 示例
PySide 文档在QCompleter 中包含此部分和树模型:
PySide.QtGui.QCompleter 可以在树模型中查找完成,假设任何项目(或子项目或子子项目)可以通过指定项目的路径明确表示为字符串。然后一次完成一个级别。
让我们以用户键入文件系统路径为例。该模型是(分层) PySide.QtGui.QFileSystemModel 。路径中的每个元素都会完成。例如,如果当前文本是 C:\Wind ,则 PySide.QtGui.QCompleter 可能会建议 Windows 完成当前路径元素。同样,如果当前文本是 C:\Windows\Sy , PySide.QtGui.QCompleter 可能会建议 System 。
为了使这种补全工作,PySide.QtGui.QCompleter 需要能够将路径拆分为在每个级别匹配的字符串列表。对于 C:\Windows\Sy ,需要拆分为“C:”、“Windows”和“Sy”。如果模型是 PySide.QtGui.QFileSystemModel ,则 PySide.QtGui.QCompleter.splitPath() 的默认实现使用 QDir.separator() 拆分 PySide.QtGui.QCompleter.completionPrefix() 。
为了提供完成,PySide.QtGui.QCompleter 需要知道索引的路径。这是由 PySide.QtGui.QCompleter.pathFromIndex() 提供的。PySide.QtGui.QCompleter.pathFromIndex() 的默认实现,返回列表模型的编辑角色的数据,如果模式是 PySide.QtGui.QFileSystemModel,则返回绝对文件路径。
但我似乎找不到一个例子来说明如何做到这一点。谁能指出我可以用作起点的示例?(在我的调查中,看起来困难的部分可能是树模型而不是 QCompleter)
看起来您需要提供以下功能:
- 将字符串拆分为段的能力(对于给出的示例
C:\Windows\Sy
,['C:','Windows','Sy']
- 能够指定包含最后一段的项目列表(例如,包含在
['C:','Windows']
我找到了 QCompleter 基本功能的示例,并且能够很好地调整基本功能(见下文),我只是不知道如何实现树模型类型的应用程序。
python - 使用 Qt 和 Python 在 QTableView 中使用 QCompleter
我正在阅读如何使我的 QAbstractTableModel 可编辑,它看起来非常简单。
但是如何设置一个可编辑的单元格来使用 QCompleter?我以某种方式必须告诉 QTableView 使用 QLineEdit 小部件?我怎样才能做到这一点?
编辑:嗯,我猜它与QTableView.setItemDelegateForColumn()有一些关系,但我对代表或如何使用它们一无所知。
编辑:我尝试了 RobbieE 的解决方案,得到了一些可行的方法,但是当我按下 Enter 时,它使弹出组合框的几何形状错误并导致 Python 崩溃。
我的 _completerSetupFunction 看起来像这样:
python - 扩展 QCompleter 以显示附加信息
我有一个 QCompleter 使用我自己的 QAbstractItemModel 来帮助自动完成 QLineEdit。它工作得很好。我想知道如何添加显示在 QCompleter 的建议列表中的其他数据。例如,当您按下 Ctrl+空格键时 NetBeans 中显示的内容:
有没有办法对 QCompleter 进行子类化以使其显示附加数据?