Qt QLineEdit仅接受整数和”;和/或角色?

Qt QLineEdit仅接受整数和”;和/或角色?,qt,qt4,qlineedit,qregexp,Qt,Qt4,Qlineedit,Qregexp,我有一个QLineEdit,我将其用于测量转换应用程序。在这种情况下,QLineEdit我只能使用整数值,所以我使用了QDoubleValidator q_LineEdit->setValidator(new QDoubleValidator(this)); 现在,我希望QLineEdit只接受转换应用程序所需的“和/字符以及整数”。如何在使用QDoubleValidator时使我的QLineEdit接受它 注意:我希望我的QLineEdit接受类似的内容(例如70“1/2) 注意:QL

我有一个
QLineEdit
,我将其用于测量转换应用程序。在这种情况下,
QLineEdit
我只能使用整数值,所以我使用了
QDoubleValidator

q_LineEdit->setValidator(new QDoubleValidator(this));
现在,我希望
QLineEdit
只接受转换应用程序所需的“和/字符以及整数”。如何在使用
QDoubleValidator
时使我的
QLineEdit
接受它

注意:我希望我的
QLineEdit
接受类似的内容(例如70“1/2


注意:QLineEdit不应接受除“和/

以外的任何其他字符。最后我自己找到了答案。非常简单。只需使用
QRegExpValidator
。 以下是我的代码:

QRegExp rx("(|\"|/|\\.|[0-9]){30}");
m_LineEdit->setValidator(new QRegExpValidator(rx, this));

最后我自己找到了答案。非常简单。只需使用
QRegExpValidator
。 以下是我的代码:

QRegExp rx("(|\"|/|\\.|[0-9]){30}");
m_LineEdit->setValidator(new QRegExpValidator(rx, this));

您还可以使用QRegExp或QRegularExpression精确地修复QLabel中接受或不接受的内容。您提供的regexp允许“'70”“1/21/5”12”/51/“5”65/”作为有效值;
QRegExp rx(“[0-9]{2}\”[0-9]\/[0-9]”);
可能更好,您只需确定在每个步骤中接受的数字数量。您还可以使用QRegExp或QRegularExpression精确地确定QLabel中接受或不接受的数字。您提供的regexp允许“70”1/21/5“12”/51/“5”65/”作为有效值;
QRegExp rx(“[0-9]{2}\[0-9]\/[0-9]”);
可能更好,您只需确定在每一步接受多少个数字