2014-04-23 3 views
0

В Qt-Designer я создал специальную форму, в которой я могу выбрать несколько названий видов в двух разных комбинированных коробках. Эти комбинированные поля связаны через «соотношение значений» с соответствующими пространственными таблицами (gattung и art) в моей базе данных SpatiaLite. Название всего вида состоит из «gattung» и «art». Поскольку эти таблицы («gattung» и «art») содержат много имен видов (латинский), которые можно выбрать, я думаю об облегченной функции редактирования.Qt пользовательская форма для QGIS и введенные автозаполненные данные с «проверкой проверки»

1) Я хотел бы сгенерировать автозаполнение при вводе первых трех символов в строку редактирования (вместо поля со списком) для «gattung», так что on может выбирать только те виды, которые начинаются, например, с помощью «Que "из списка.

2) Когда я выбрал имя, соответствующее этим 3 символам, например «Que» для «Quercus», во втором поле «art» могут быть выбраны только допустимые имена. Например, «petrea» руда «robur» как подмножество целых «арт-имен», которые можно выбрать. Допустимыми именами являются «Quercus robur» или «Quercus petrea». Это можно сделать с помощью редактирования строки при вводе 4 символов или с комбинированным полем.

Я думал о python и почтовом коде (Quepetr для Quercus petrea), чтобы решить эту проблему, но не знает, с чего начать, а также где ввести код для виджетов в QT-Designer.

Я благодарен за любую помощь или идею!

ответ

1

У меня была аналогичная проблема. Я закончил использовать QLineEdit в сочетании с QCompleter, как объяснено here. QCompleter довольно мощный для (очень) длинных списков (например, имен видов).

Для проверки правильности работы вы можете использовать решение Nathan Woodrows here.