Перейти к содержимому


Фотография
- - - - -

трабла с Python`ом


  • Пожалуйста, авторизуйтесь, чтобы ответить
7 ответов в этой теме

#1 Yarra

Yarra

    Псих ненормальный

  • Moderators
  • PipPipPipPipPip
  • 13 162 сообщений
319
Очень хороший
  • Город:Степка 8)

Опубликовано 30 Январь 2012 - 13:45

товарисчи. подскадите кто знает.
Есть программулина на Питоне с использованием Qt.
соснно код:
self.classno = QtGui.QLineEdit()
        self.classno.setValidator(QtGui.QIntValidator(0, 999999 , self.classno))
т.е. линия с валидатором.
странный глюк. Если, опустим, водить цифри начинаетя с любой цифры кроме нуля разрешается ввести, как и должно быть, только 6 цифр. Если же вначале поставить ноль - вводит 7 цифр.
Это, думается, не сильно критично, но победить как-то хочется. может кто опдскажет в тсорону чего копать и как это можно поправить? А писать валидатор самому не хочется :(
  • 0

Люди должны умереть
Убью лошадь, за каплю никотина


#2 dr-evil

dr-evil

    Админ и человек!

  • True Members
  • PipPipPipPipPip
  • 1 196 сообщений
36
Обычный
  • Пол:Мужчина

Опубликовано 30 Январь 2012 - 23:32

сырцы смотрел?
  • 0
General DC++ Hub (dc.elenet.info) более не админю. С Эленетом никак не связан.

#3 Yarra

Yarra

    Псих ненормальный

  • Moderators
  • PipPipPipPipPip
  • 13 162 сообщений
319
Очень хороший
  • Город:Степка 8)

Опубликовано 31 Январь 2012 - 08:35

PyQt? Нет, для меня это будет все равно что просто ручками сво валидатор написать...
По затратам времени.
  • 0

Люди должны умереть
Убью лошадь, за каплю никотина


#4 key

key

    -=SunKain=-

  • True Members
  • PipPipPipPipPip
  • 2 489 сообщений
12
Обычный
  • Пол:Мужчина
  • Город:Аден

Опубликовано 31 Январь 2012 - 14:51

Я так понимаю это связано с тем, что 01 = 1. ну и так далее. То есть если, ты начинаешь ввод цифр с 0, то он (этот 0) будет игнорироваться и следующая за ним цифра несет смысловую нагрузку. На мой взгляд лучше всего проверять при вводе наличие 0 в первой позиции, и еси он там есть, то нах убирать его. Надеюсь помог :)
  • 0
Mess with the best
Die like the rest

Размещенное изображение

Пуля производит удивительные изменеия в голове, даже если она попала в задницу.
(С) Лукьяненко "Черновик"

Conseal nohing.
And watch the fools searching forever.

#5 Yarra

Yarra

    Псих ненормальный

  • Moderators
  • PipPipPipPipPip
  • 13 162 сообщений
319
Очень хороший
  • Город:Степка 8)

Опубликовано 02 Февраль 2012 - 13:34

А вот не знаю на соклько ноль игнорируется. За символ тем не менее он считается. Вобще 01 = 01, а не =)
по идее это какая-то хрень, которой быть не должно...
  • 0

Люди должны умереть
Убью лошадь, за каплю никотина


#6 key

key

    -=SunKain=-

  • True Members
  • PipPipPipPipPip
  • 2 489 сообщений
12
Обычный
  • Пол:Мужчина
  • Город:Аден

Опубликовано 02 Февраль 2012 - 15:17

ну скорее всего, валидатор этот парсит строку в инт, судя по коду QtGui.QIntValidator
а при парсинге 01222 мы получим 1222, например.

Ну направильность не претендую, так как по питону не спец, и Qt вообще не использую :) чисто размышления по логике вещей.
  • 0
Mess with the best
Die like the rest

Размещенное изображение

Пуля производит удивительные изменеия в голове, даже если она попала в задницу.
(С) Лукьяненко "Черновик"

Conseal nohing.
And watch the fools searching forever.

#7 Yarra

Yarra

    Псих ненормальный

  • Moderators
  • PipPipPipPipPip
  • 13 162 сообщений
319
Очень хороший
  • Город:Степка 8)

Опубликовано 02 Февраль 2012 - 16:12

У меня когда забирается строка, то проверяется количество символов. И символов 7, если спереди ставить ноль.
А суть валидатора своится к тому что он не дается водить ниего кроме 6 цирф (опять же если первым не ставить ноль). Т.е. тупо даже не получится ввеси, скажем, букву.
  • 0

Люди должны умереть
Убью лошадь, за каплю никотина


#8 Yarra

Yarra

    Псих ненормальный

  • Moderators
  • PipPipPipPipPip
  • 13 162 сообщений
319
Очень хороший
  • Город:Степка 8)

Опубликовано 02 Февраль 2012 - 17:15

Мде. Как оказалось 0 спереди стоять может, так что игнорировать 0 тоже нельзя.
  • 0

Люди должны умереть
Убью лошадь, за каплю никотина



Посетителей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных пользователей