pyqt6 输入框只能输入数字
时间: 2024-08-07 22:01:29 浏览: 154
在PyQt6中,如果你想创建一个输入框,只能允许用户输入数字,你可以通过结合`QLineEdit`和`QValidator`来实现这个需求。
首先,在你的`.ui`文件中添加一个`QLineEdit`控件,并设置其`placeholderText`属性显示如“请输入数字”等提示信息。然后,在你的Python代码中,你需要将此`QLineEdit`关联到一个验证器上,该验证器检查输入的内容是否只包含数字。以下是一个简单的示例:
```python
from PyQt6.QtWidgets import QApplication, QWidget, QLineEdit, QVBoxLayout, QLabel
from PyQt6.QtCore import QRegExp, Qt
from PyQt6.QtGui import QRegExpValidator
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('仅接受数字')
layout = QVBoxLayout()
label = QLabel('请输入数字')
line_edit = QLineEdit()
# 验证器用于限制文本输入,这里我们限制输入只包含数字
regex = QRegExp('[0-9]+')
validator = QRegExpValidator(regex)
# 将验证器关联给线编辑控件
line_edit.setValidator(validator)
layout.addWidget(label)
layout.addWidget(line_edit)
self.setLayout(layout)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
ex = MyApp()
ex.show()
sys.exit(app.exec())
```
在这个例子中,当用户尝试输入非数字字符时,Qt会自动阻止并弹出错误提示框,提示输入无效。这样就可以确保输入框只能接收数字类型的输入了。
-
阅读全文