0

在 Qt-Designer 中,我创建了一个自定义表单,我可以在其中在两个不同的组合框中选择多个物种名称。这个组合框通过“值关系”链接到我的 SpatiaLite 数据库中的一致非空间表(gattung 和艺术)。整个物种名称由“gattung”和“art”组成。因为这些表(“gattung”和“art”)包含许多可以选择的物种名称(拉丁语),所以我考虑了一种简化的编辑功能。

1)我想在将前 3 个字符输入到“gattung”的行编辑(而不是组合框)时生成一个自动完成功能,以便只能从列表中选择以“Que”开头的这些物种.

2) 当我选择了与这 3 个字符匹配的名称时,例如“Quercus”的“Que”,在第二个字段“art”中只能选择有效的名称。例如,“petrea”或“robur”作为可以选择的整个“艺术名称”的子集。有效名称为“Quercus robur”或“Quercus petrea”。这可以在输入 4 个字符时通过行编辑或使用组合框来完成。

我想到了 python 和一个字母代码(Quercus petrea 的 Quepetr)来解决这个问题,但不知道从哪里开始,也不知道在哪里输入 QT-Designer 中小部件的代码。

我很感激任何帮助或想法!

4

1 回答 1

1

我有一个类似的问题。我最终与这里解释QLineEdit的结合使用。对于(非常)长列表(如物种名称)非常强大。QCompleterQCompleter

对于验证,您可以在此处使用 Nathan Woodrows 解决方案。

于 2015-03-28T21:23:54.990 回答