c++ - 设置QLineEdit只接受数字

我有一个QLineEdit,想让用户只能输入数字。

QLineEdit是否有只能输入数字的设置?

时间:

QLineEdit::setValidator(),例如:


myLineEdit->setValidator( new QIntValidator(0, 100, this) );

或者


myLineEdit->setValidator( new QDoubleValidator(0, 100, 2, this) )

请参见:QIntValidatorQDoubleValidatorqlineEdit::setValidator

你也可以设置inputMask


QLineEdit.setInputMask("9")

这允许用户只键入一个数字,从0到9。

为什么不使用QSpinBox?


// ...
QSpinBox* spinBox = new QSpinBox( this );
spinBox->setButtonSymbols( QAbstractSpinBox::NoButtons ); // After this it looks just like a QLineEdit.
//...

...