Страница 1 из 1
Отсутствие проверки введенных значений в fTools
Добавлено: 27 ноя 2009, 19:49
manisha
В инструментах fTools нет проверки на корректность введенных значений, можно запустить построение буфера на расстояние "do sosednego lesa" и в питон error будет написано:
Код: Выделить всё
Traceback (most recent call last):
File "C:\OSGeo4W\apps\qgis-dev\python\plugins\fTools\tools\doGeoprocessing.py", line 83, in accept
parameter = float( self.param.text() )
ValueError: invalid literal for float(): do sosednego lesa
Другие инструменты не проверял.
fTools 0.5.10, QGIS r12231.
Re: Отсутствие проверки введенных значений в fTools
Добавлено: 30 ноя 2009, 08:14
Максим Дубинин
подтверждаю, r12280
Re: Отсутствие проверки введенных значений в fTools
Добавлено: 30 ноя 2009, 19:43
Voltron
manisha писал(а):В инструментах fTools нет проверки на корректность введенных значений, можно запустить построение буфера на расстояние "do sosednego lesa" и в питон error будет написано
Подтверждаю не глядя, т.к. более-менее знаю код fTools.
Дело в том, что питон - язык без строгой типизации, разделения на целые, с плавающей точкой, строки и другие типы у него отсутствует. Из-за этого проверка введенных значений задача нетривиальная, строку нужно раскладывать на составляющие и каждую проверять на "цифра/не цифра".
Re: Отсутствие проверки введенных значений в fTools
Добавлено: 01 дек 2009, 01:15
Максим Дубинин
в принципе, какую-то простую проверку добавить типа "если есть символы - ругаться" можно?
Re: Отсутствие проверки введенных значений в fTools
Добавлено: 01 дек 2009, 08:43
Voltron
sim писал(а):в принципе, какую-то простую проверку добавить типа "если есть символы - ругаться" можно?
Вот так сразу не скажу. Как-то точно можно сделать, надо смотреть
Re: Отсутствие проверки введенных значений в fTools
Добавлено: 01 дек 2009, 14:07
yellow-sky
Сделать то можно. Для ввода используется обычный QLineEdit. Соответственно для него можно установить как inputMask так и любой валидатор, в данном случае, я так думаю, должен подойти QDoubleValidator (кстати ему нужно будет обязательно добавить ограничение на нижнее значение = 0). Но проблема в том, что форма, используемая для всех функций геопроцессинга - одна! и строится динамически при выборе какой либо из функций. Эта проблема решается путем добавления соответствующих валидаторов в том или ином случае, как происходит и с подписями полей ввода. Но я думаю, что это лучше сделать создателю этого плагина. Вероятность того, что тот кто будет писать патч с валидаторами запутается или что нибудь забудет - очень велика

Re: Отсутствие проверки введенных значений в fTools
Добавлено: 10 дек 2009, 14:49
Denis Rykov
Re: Отсутствие проверки введенных значений в fTools
Добавлено: 15 апр 2010, 14:44
Voltron