Qt自定义QGIS表单及“有效性检查”的自动完成数据输入
在Qt-Designer中,我创建了一个自定义表单,可以在两个不同的下拉框中选择多个物种名称。这两个下拉框通过“值关系”连接到我的SpatiaLite数据库中的相应非空间表(gattung和art)。整个物种名称由“gattung”和“art”组成。因为这些表(“gattung”和“art”)包含了很多可以选择的物种名称(拉丁文),所以我在考虑增加一个更方便的编辑功能。
1) 我想在输入框中输入前3个字符时生成自动补全功能(而不是使用下拉框),这样可以从列表中选择以“Que”开头的物种名称。
2) 当我选择了一个与这3个字符匹配的名称,比如“Que”对应“Quercus”时,在第二个字段“art”中只能选择有效的名称。例如,可以选择“petrea”或“robur”,这两个是所有“art名称”的子集。有效的名称是“Quercus robur”或“Quercus petrea”。这可以通过输入4个字符的输入框来实现,或者使用下拉框。
我考虑过用Python和一个字母代码(Quepetr代表Quercus petrea)来解决这个问题,但不知道从哪里开始,也不知道在QT-Designer中该在哪里输入代码来处理这些控件。
我非常感谢任何帮助或想法!