我需要的情况QLineEdit
总是较低。我会将它与俄语字母一起使用。
1 回答
您可以简单地应用“toLower”原则,尽管不是QString
因为始终使用“C”语言环境处理,而是QLocale
根据 Qt 文档:
QString QLocale::toLower(const QString & str) const
返回 str 的小写副本。此功能是在 QtCore 4.8 中引入的。
QValidator
如果您愿意,您也可以使用QLineEdit
(基于您的“初始请求”):
void QValidator::setLocale(const QLocale & locale)
设置将用于验证器的语言环境。除非调用了 setLocale,否则验证器将使用 QLocale::setDefault() 设置的默认语言环境。如果未设置默认语言环境,则它是操作系统的语言环境。
和:
状态 QValidator::validate(QString & input, int & pos) const [纯虚拟]
如果根据此验证器的规则输入无效,则此虚拟函数返回 Invalid,如果可能再进行一些编辑会使输入可接受(例如,用户在接受 10 到 99 之间的整数的小部件中键入“4”),则返回 Intermediate,如果输入有效,则可接受。如果需要,该函数可以更改 input 和 pos(光标位置)。
一旦你有了自己的验证器实现,你就可以使用下面的 setterQLineEdit
来实际使用你的验证:
void QLineEdit::setValidator(const QValidator * v)
将此行编辑设置为仅接受验证器 v 将接受的输入。这允许您对可能输入的文本设置任意约束。如果 v == 0,setValidator() 删除当前输入验证器。初始设置是没有输入验证器(即接受任何输入直到 maxLength())。