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

时间:2013-10-05 09:21:01

标签: c++ qt qtgui qtcore qlineedit

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

1 个答案:

答案 0 :(得分: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 [pure virtual]

     

如果根据此验证器的规则输入无效,则此虚函数返回Invalid;如果可能多一点编辑将使输入可接受(例如,用户在接受10和10之间的整数的小部件中键入“4”) 99),如果输入有效,则可接受。   如果需要,该功能可以改变输入和pos(光标位置)。

一旦有了自己的验证器实现,就可以使用以下QLineEdit的setter来实际使用验证:

  

void QLineEdit :: setValidator(const QValidator * v)

     

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