- 利用正则表达式
- 利用qt自带 QDoubleValidator
ui.lineEdit_3->setValidator(new QRegExpValidator(QRegExp("^[1-9]\\d*$")));//非零的正整数
ui.lineEdit_6->setValidator(new QRegExpValidator(QRegExp("^\\d+(\\.\\d+)?$")));//非负浮点数
QDoubleValidator doubleValidator2(0, 100, 2);
m_ui.lineEdit_3->setValidator(&doubleValidator2);
qt QLineEdit 只允许输入 数字字母和下划线
QRegExp regx("[a-zA-Z0-9_]+$");
QValidator *validator = new QRegExpValidator(regx, m_ui->lineEdit_2);
m_ui->lineEdit_2->setValidator(validator);
总之,利用正则表达式,还有QValidator 可以实现对输入的限制,避免写槽函数
^-?(([0-9]{0,16}(\\.[0-9]{1,16})$)|([0-9]+$))
ui.lineEdit_3->setValidator(new QRegExpValidator(QRegExp("^-?(([0-9]{0,16}(\\.[0-9]{1,16})$)|([0-9]+$))")));
正负整数 和正负浮点数(限制16位)