2010-07-24 2 views
-1

QLineEdit의 텍스트는 사용자 유형에 관계없이 모두 대문자로 구현하려고합니다. 몇 가지 해결책을 찾았지만 그 중 하나도 Ruby에서 작업하지 않았습니다. 사용자 입력 필드의 종류 만이이 대문자로 점점되지 않을 때마다Qt QLineEdit 루비 사용자 정의 유효성 검사

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 메소드가 제대로 트리거됩니다 : 간단히 말해서 나는 QLineEdit 개체 searchEdit이 코드가 있습니다. 유효성 검사 내의 입력 변수 변경이 searchEdit 객체로 다시 전달되지 않는다고 생각됩니다.

어떤 도움을 주셔서 감사합니다. Qt Ruby 바인딩에 관한 좋은 문서를 보내 주셔서 감사합니다.

+0

미안 내가 그것에 대한 이유를 볼 수 없기 때문에 downwote 될 혼란 스러워요 :) 당신이 원하는 것을 할 것 'fixup()'라는 방법을 가지고 있습니다. downvoter가 적어도 짧은 코멘트를 남기지 않는 한 그것은 아주 도움이되지 않는다. – gorn

답변

0

QValidator 아마

+0

나는 이것을 보았다. 그러나 Enter 키를 누를 때만 내용을 고친다. 둘째, qtruby에서 전혀 작동하지 않는다 .--( – gorn