问题标签 [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 回答
1576 浏览

python - 来自错误模型的PyQt QSortFilterProxyModel索引传递给mapToSource?

[(1, 'cb'), (3, 'cd'), (7, 'ca'), (11, 'aa'), (22, 'bd')]当我选择下拉自动完成项时,我想获取存储的整数。

因为我使用了 QSortFilterProxyModel,所以当使用向下键选择项目时,索引来自代理模型。

我在文档中阅读了我应该mapToSource用来获取原始模型中的索引的文档,但是在这里我收到了一条错误消息index from wrong model passed to mapToSource,并且index.row()始终为 -1。我错过了什么?谢谢!

错误是:

代码:

更新:已解决,感谢 Avaris 在#pyqt 中的帮助。事实证明,我可以这样做将索引映射到原始模型

甚至更好:

因为:“completionModel() 实际上是 .model() 上的代理模型

你不需要为此弄乱 mapToSource 。index.data(Qt.UserRole) 应该给你这个数字,不管返回哪个索引

仅供参考,您很少需要在(代理)模型之外使用 mapToSource 。它主要用于内部使用。适当的代理应转发来自源的所有相关查询。所以你可以像使用源代码一样使用代理 -Avaris "

0 投票
1 回答
2529 浏览

python - QObject::startTimer: QTimer 只能用于以 QThread 启动的线程?

我给了模型一个父模型,但是退出时它仍然显示错误消息,下面的代码出了什么问题

退出时上述代码错误。

图像

0 投票
0 回答
625 浏览

python - 从python中的任何位置自动完成

我有一个要求,我需要根据在任何位置输入的文本在 pyqt 的 QLineEdit 小部件中显示自动完成结果。到目前为止,我可以从正文开始

例如:“嗨,我是 Slim shady” ,在这里我可以在输入“嗨”时看到自动完成中的所有文本,但我需要具有可以让我在句子的任何位置之间或从句子的任何位置进行搜索的功能。

我的代码是:-

0 投票
1 回答
391 浏览

xml - 将 XML 文件转换为 QAbstractItemModel

我想为 QtWidget (QPlainTextEdit) 构建一个自动完成器。我要使用的关键词存储在一个 XML 文件中。有没有一种简单的方法可以将 XML 文件放入 QCompleter?可以使用 QAbstractItemModel 或 QStringList 调用 QCompleter。所以我希望有一个函数可以将我的 XML 文件变成这两件事之一。这是可能的还是我必须逐行读取我的 XML 文件并填写模型或列表?

感谢您的任何提示。

0 投票
1 回答
230 浏览

qt - 在 QComboBox 或 QCompleter 中包含按钮

如何将 QPushButton 包含到 QCompleter 创建的弹出窗口中?

我会将 QFrame 与 Listbox 或 QTableView 以及 QPushButton 一起使用。但是方法 void QCompleter::setPopup(QAbstractItemView *popup) 需要 QAbstractItemView (不是 QWidget)。

想要什么:

带有 QPushButton 的 QCompleter

0 投票
1 回答
775 浏览

python - Qcompleter currentCompletion 不起作用

最近,我正在做一个代码完成演示。我想与 popup() 中的项目创建工具提示关联。当用户在弹出列表视图中选择一项时,工具提示会显示与其关联的项所查询的一些信息。我尝试currentCompletion()来获取项目内容,它只返回了第一次完成。如何解决这个问题?

这是我的申请

这是我的主要内容:

打印只给0,即使我选择了第二个完成。这是屏幕截图

0 投票
1 回答
411 浏览

c++ - 基于正则表达式的自动完成

我有一个QLineEdit允许QRegularExpressionValidator输入的地方:

例如:

我搜索了一种QCompleter基于此正则表达式填充 a 的方法。
因此,如果光标位于空白处,QLineEdit则完成者建议:
><、或。 在符号之后,不建议任何内容,在最后一个数字之后,建议:,,,或我的需要是 通过读取允许的和部分正则表达式来创建 a 并将其插入到中,因为它基于 a 。=>=<=

mm²/scm²/sm²/sStcSt
QStringListsignunitQStringListQCompleterQAbstractItemModel

0 投票
0 回答
536 浏览

c++ - Qt C++ QCompleter 自定义弹出窗口

我可以更改 QCompleter 弹出窗口以显示自定义小部件而不是字符串列表吗?

我想在一个项目中显示一个对象的三个参数。

像这样的东西(图像显示一个网格,一个列表就足够了)。

在此处输入图像描述

按照@eyllanesc 的建议实施 QAbstractItemView 必须是一条出路。但我不明白它是如何完成的。

任何示例代码都会有所帮助。

其他解决方案:

  1. 我可以为每个建议添加工具提示吗?

  2. 创建自定义 QLineEdit 并在其下方加载所需的小部件并在按键事件上过滤布局以使其看起来像 QCompletor 会更容易吗?

0 投票
1 回答
646 浏览

c++ - 如何更改 QCompleter 弹出窗口的顺序?

我创建了一个自定义QCompleter类,它在弹出窗口中显示所有项目,其中包含 a 的键入词QLineEdit

现在所有项目都按字母顺序排列,如您在此处看到的:

在此处输入图像描述

如果我输入“dab”,然后按字母顺序输入其他项目,我希望弹出窗口显示“dab”作为第一个建议。

我想要这个弹出顺序:

  • 轻拍
  • 可修改
  • 可判定的
  • 可分的
  • 可引导的
  • 可消费的
  • ...

我怎样才能做到这一点?

这是QCompleter我正在使用的自定义类:

代码

0 投票
1 回答
339 浏览

c++ - 获取 id 字段作为 QSqlTableModel 中记录的 int

我正在使用QSqlTableModel *modelcompleter,然后使用 QCompleter将数据加载到qLineEdit *search

我正在使用 qlineEdit 在要选择的项目上按 Enter 键:

功能

我不明白为什么,但是当前设置为只有 1 条记录的模型搜索,当我按 Enter 键时(QCompleter 确保我提交完整的 'cust_name')。QDebug() 输出 0。是否有另一种方法来获取id'cust_name'搜索查询匹配的'cust_name'