注意:以下均为键盘输入交互时的限制,setText无法限制。
1.只允许输入整型
ui->lineEdit->setValidator(new QIntValidator(ui->lineEdit));
2.只允许输入数字
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[0-9]+$")));
2.1.只允许数字0-9且长度为11位
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[0-9]{11}")));
3.只能输入字母和数字
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[a-zA-Z0-9]+$")));
4.只能输入大写字母
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^[A-Z]+$")));
5.只能输入小写字母
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^[a-z]+$")));
6.只能输入字母
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^[A-Za-z]+$")));
7.输入浮点型数据
非负浮点数(正浮点数 + 0):"^\d+(\.\d+)?$"
正浮点数:"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
非正浮点数(负浮点数 + 0):"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"
负浮点数:"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"
浮点数:"^(-?\d+)(\.\d+)?$"
8.输入-255~255的整数
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^-?(255|[1,2]?[0-4]?\\d|[1,2]?5[0-4]?)$")));
9.限制浮点数输入范围为[-90,90]并限定为小数位后4位
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^-?(90|[1-8]?\\d(\\.\\d{1,4})?)$")));
10.输入格式 (年-月-日)
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$")));
10.1.输入格式(月/日/年)
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$")));
11.只能中文输入
ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[\u4e00-\u9fa5]+$")));