我正在尝试实现 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 绑定的好文档。