Qt QLineEdit пользовательская проверка в ruby - PullRequest
0 голосов
/ 24 июля 2010

Я пытаюсь реализовать текст QLineEdit, который состоит из заглавных букв независимо от того, что вводит пользователь. Я нашел несколько решений, ни одно из которых не работает в Ruby. Вкратце у меня есть объект QLineEdit searchEdit и этот код:

class UpcaseValidator < Qt::Validator
   def validate(input,pos)
     input.upcase!
     Qt::Validator::Acceptable
   end
end
...
def initialize(parent = nil)
  uppercaseValidator = UpcaseValidator.new;
  searchEdit.setValidator(uppercaseValidator)
...

Метод validate корректно запускается всякий раз, когда пользователь вводит данные в поле ввода, но не получает прописные буквы. Мне кажется, что изменение входной переменной в рамках валидации не распространяется обратно на объект searchEdit.

Спасибо за любую помощь, даже указав мне несколько хороших документов о привязках Qt Ruby.

1 Ответ

0 голосов
/ 25 июля 2010

QValidator имеет метод с именем 'fixup()', который, вероятно, будет делать то, что вы хотите:)

...