开发者

Qt QLineEdit custom validation in ruby

I am trying to implement QLineEdit's text which is all capital letters no matter what user types in. I have found several solutions, none of them working in Ruby. In brief I have QLineEdit object searchEdit and this code:

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)
...

The validate method gets triggered correctly whenever user types in the input field, but it is not getting uppercased. Seems to me that changing input variable within validate does not get propagated back to the searchEdit object.

Thanks for any help, even pointing me o开发者_如何学Gout to some good docs about Qt Ruby bindings.


QValidator has a method called 'fixup()', which will probably do what you want :)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜