问题标签 [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++ - 如何检测字符串是否是变量在编写QPlainTextEdit的代码编辑器中?
我正在用QPlainTextEdit编写一个javascript代码编辑器,现在我正在用QCompleter进行代码完成。问题是我不知道明文中哪个字符串是变量。我首先根据关键字检测变量,例如
但是当用户粘贴多行或删除多行,或者用户只删除现有“变量”的单个字符时,它不会正常工作
显然我不希望 QCompleter 同时弹出“变量”和“变量”。任何解决方案?多谢。
python - python GUI按键值自动完成
我正在尝试在 python 中创建一个自动完成 GUI,这样当我输入名字时,我会看到可能的姓氏。例如,假设我有这本字典:{"George": ["Washington", "Bush"]}
. 当我开始输入“G”时,我希望它显示“Washington”和“Bush”。选择“华盛顿”时,我希望显示“华盛顿”。我是 GUI 新手,我认为 PyQt 有一个自动完成的例子,但是这些单词不是键值对而是单词列表。
https://wiki.python.org/moin/PyQt/Adding%20auto-completion%20to%20a%20QLineEdit
有没有办法编辑链接中的代码,以便我可以启用此功能?谢谢!
qt - 未显示 Combobox 的完成符
我为 Combobox 创建了一个完成器。
我的组合框.cpp
我的观点是基于 TreeView
完成者视图.cpp
我的模型基于QAbstractItemModel
(功能parent
,index
对我的情况并不重要)
CompleterSourceModel.cpp
我查看并将我的代码与 4 个 Qt 示例进行比较,以获得 Completer 示例 1 示例 2 示例 3 示例 4
在我看来,我看不出我的代码和他们的代码有什么不同。他们只是设置setCompleter()
,没有什么特别的,不需要信号/插槽。但我不知道为什么我的代码不起作用。当我在组合框中键入时,什么也没有出现。你能在我的代码中展示我的一些不好的东西吗?
更新
完成者数据.cpp
完成者数据.h
python - 使用 QCompleter 时程序退出并出错
我正在用 pyqt5 编写一个程序,并希望通过使用 sqlite 存储输入来使 QlineEdit 显示历史输入。当 focusInEvent 发生时,我使用信号捕捉光标并选择当时的历史记录,然后将结果放入 QCompleter 以便它可以在 QlineEdit 中弹出。现在我可以在 QlineEdit 对象中显示历史输入,但是当我单击任何值时,1 秒后,整个程序会自动退出并出现错误,显示“Python 已停止”。
c++ - 最后一个字符行编辑
我有两个价值清单。第一个是整数列表,第二个是字符串列表。我想根据 lineEdit 的最后内容显示这些不同的列表。例如,当用户输入 A => QCompleter 时,会显示字符串列表。如果用户输入 A1 => QCompleter 显示整数列表,因为输入的最后一个字符是 1。
我尝试这样:
如果最后一个字符是数字 => QCompleter show me list = { "1","2","7" };
其他 => 列表 = { "AAAA","AA","BB","AC" };
python - 在 QCompleter 激活调用时查找 QStandardItemModel 的索引
我正在使用 QCompleter 在 PyQt5 中编写一个带有编辑字段的 GUI,以允许用户从弹出列表中选择输入。该列表内置在 QStandardItem 中并提供给 QCompleter。当用户从弹出列表中选择一个项目时,我需要的是 QStandardItem 模型中行的索引。
我试图研究文档https://doc.qt.io/qt-5/qcompleter.html并找到一个名为
遍历完成 要检索单个候选字符串,请使用需要完成的文本调用 setCompletionPrefix() 并调用 currentCompletion()。
这在我的情况下没有用,因为在我的 QStandardItem 模型中存在重复项目的风险,例如 ['cat,'cat','dog']。根据用户选择第一只还是第二只猫,有两个不同的 ID 与之关联。因此,获取用户选择的项目的 QStandardItem 模型的索引很重要。
我应该在 self.completer.activated.connect(self.complete_excipient_input) 中做什么才能在 self.model 中获取与用户选择的项目相对应的索引?
编辑
我试图运行@eyllanesc 提供的代码示例,它工作正常。但是,当我将代码应用到自己的代码中时,我收到错误消息指出 QObject::connect: Cannot connect QCompleter::activated(QModelIndex) to
并且发生了异常:TypeError connect() failed betweenactivated(QModelIndex) and onActivated()
下面是我的代码。它在 QtDesigner 中生成,随后转换为 python 代码。