Qt设置QLineEdit正则表达式分为三种:1 限制输入范围位-180-180,2输入范围为-90-90,3只能输入数字
时间: 2024-10-11 18:04:35 浏览: 268
qt使用正则表达式限制lineEdit的输入,对正则表达式进行了封装,可以直接引入,工程编译正常
5星 · 资源好评率100%
在Qt中,如果你想限制`QLineEdit`控件的内容满足特定的正则表达式规则,可以使用`setValidator()`函数配合`QRegExpValidator`。以下是三种不同情况下的正则表达式设置:
1. **限制输入范围 -180 到 180**:
```cpp
QRegExp regex("-?[0-9]{1,3}(\\.[0-9]{1,2})?"); // 匹配整数和小数,负数也允许
QRegExpValidator validator(regex);
lineEdit->setValidator(&validator);
```
这里,`regex`匹配从-999到999的小数点后最多两位的数值。
2. **输入范围 -90 到 90(仅角度)**:
```cpp
QRegExp regex("[-+]?[0-9]{1,2}([.]?[0-9]{1,2})?"); // 只接受0-90度的整数或带小数的表示
QRegExpValidator validator(regex);
lineEdit->setValidator(&validator);
```
这个正则只接受整数和小数形式的角度值。
3. **只输入数字**:
```cpp
QRegExp regex("[0-9]+"); // 只能输入一串数字
QRegExpValidator validator(regex);
lineEdit->setValidator(&validator);
```
这将禁止输入非数字字符。
阅读全文