2

我需要的情况QLineEdit总是较低。我会将它与俄语字母一起使用。

4

1 回答 1

2

您可以简单地应用“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())。

于 2013-10-05T09:35:45.843 回答