如何使用带有俄语字母的QLineEdit掩码

How to use QLineEdit mask with Russian letters?

本文关键字:QLineEdit 掩码 俄语 何使用      更新时间:2023-10-16

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

您可以简单地应用"toLower"原则,尽管不适用于QString,因为它总是使用"C"语言环境处理,但根据Qt文档QLocale

QString QLocale::toLower(const QString & str( const

返回 str 的小写副本。此功能在QtCore 4.8中引入。

如果您愿意,您也可以将QValidator用于QLineEdit(基于您的"初始请求"(:

void QValidator::setLocale(const QLocale & locale(

设置

将用于验证程序的区域设置。除非调用了 setLocale,否则验证器将使用使用 QLocale::setDefault(( 设置的默认语言环境。如果尚未设置默认区域设置,则它是操作系统的区域设置。

和:

State QValidator::validate(QString & input, int & pos( const [pure virtual]

如果根据此验证器的规则输入无效,则此虚函数返回 Valid;如果可能进行更多的编辑会使输入变得可接受(例如,用户在接受 10 到 99 之间的整数的小部件中键入"4"(,则返回 Middle,如果输入有效,则返回 Accept。 如果需要,该函数可以更改输入和 pos(光标位置(。

拥有自己的验证器实现后,您可以使用以下QLineEdit资源库来实际使用验证:

void QLineEdit::setValidator(const QValidator * v(

将此行编辑设置为仅接受验证程序 v 将接受的输入。这允许您对可能输入的文本施加任何任意约束。 如果 v == 0,setValidator(( 将删除当前的输入验证器。初始设置是没有输入验证器(即任何输入都可以接受到maxLength(((。