问题标签 [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.
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 "
python - QObject::startTimer: QTimer 只能用于以 QThread 启动的线程?
我给了模型一个父模型,但是退出时它仍然显示错误消息,下面的代码出了什么问题
退出时上述代码错误。
python - 从python中的任何位置自动完成
我有一个要求,我需要根据在任何位置输入的文本在 pyqt 的 QLineEdit 小部件中显示自动完成结果。到目前为止,我可以从正文开始
例如:“嗨,我是 Slim shady” ,在这里我可以在输入“嗨”时看到自动完成中的所有文本,但我需要具有可以让我在句子的任何位置之间或从句子的任何位置进行搜索的功能。
我的代码是:-
xml - 将 XML 文件转换为 QAbstractItemModel
我想为 QtWidget (QPlainTextEdit) 构建一个自动完成器。我要使用的关键词存储在一个 XML 文件中。有没有一种简单的方法可以将 XML 文件放入 QCompleter?可以使用 QAbstractItemModel 或 QStringList 调用 QCompleter。所以我希望有一个函数可以将我的 XML 文件变成这两件事之一。这是可能的还是我必须逐行读取我的 XML 文件并填写模型或列表?
感谢您的任何提示。
python - Qcompleter currentCompletion 不起作用
最近,我正在做一个代码完成演示。我想与 popup() 中的项目创建工具提示关联。当用户在弹出列表视图中选择一项时,工具提示会显示与其关联的项所查询的一些信息。我尝试currentCompletion()来获取项目内容,它只返回了第一次完成。如何解决这个问题?
这是我的申请
这是我的主要内容:
打印只给0,即使我选择了第二个完成。这是屏幕截图
c++ - 基于正则表达式的自动完成
我有一个QLineEdit
允许QRegularExpressionValidator
输入的地方:
例如:
我搜索了一种QCompleter
基于此正则表达式填充 a 的方法。
因此,如果光标位于空白处,QLineEdit
则完成者建议:
>
、<
、或。
在符号之后,不建议任何内容,在最后一个数字之后,建议:,,,或我的需要是
通过读取允许的和部分正则表达式来创建 a 并将其插入到中,因为它基于 a 。=
>=
<=
mm²/s
cm²/s
m²/s
St
cSt
QStringList
sign
unit
QStringList
QCompleter
QAbstractItemModel
c++ - 获取 id 字段作为 QSqlTableModel 中记录的 int
我正在使用QSqlTableModel *modelcompleter
,然后使用 QCompleter
将数据加载到qLineEdit *search
我正在使用 qlineEdit 在要选择的项目上按 Enter 键:
功能
我不明白为什么,但是当前设置为只有 1 条记录的模型搜索,当我按 Enter 键时(QCompleter 确保我提交完整的 'cust_name')。QDebug() 输出 0。是否有另一种方法来获取id
与'cust_name'
搜索查询匹配的'cust_name'