python 设置QlineEdit只能输入数字
时间: 2024-11-13 17:40:43 浏览: 5
在Python中,你可以使用`QLineEdit`(线性编辑框)的`setValidator()`函数来限制用户输入的内容。通常搭配`QIntValidator`(整数验证器)来只允许输入数字。以下是一个简单的示例:
```python
from PyQt5.QtWidgets import QApplication, QLineEdit, QVBoxLayout, QWidget
from PyQt5.QtCore import QRegExpValidator
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.line_edit = QLineEdit()
# 创建整数验证器
int_validator = QRegExpValidator(QRegExp(r'^\d+$'), self)
self.line_edit.setValidator(int_validator)
layout = QVBoxLayout()
layout.addWidget(self.line_edit)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication([])
widget = MyWidget()
widget.show()
app.exec_()
```
在这个例子中,`QRegExpValidator`使用正则表达式`^\d+$`,其中`^`表示字符串开始,`\d+`匹配一个或多个数字,`$`表示字符串结束。这样就保证了只接受包含数字的输入。
阅读全文