ユーザーが何を入力しても、すべて大文字の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メソッドが正しくトリガーされますが、大文字にはなりません。validate内で入力変数を変更しても、searchEditオブジェクトに伝播されないようです。
Qt Rubyバインディングに関するいくつかの優れたドキュメントを指摘しても、助けてくれてありがとう。