gpt4 book ai didi

python - QLineEdit 只接受 PyQt4 中的字符

转载 作者:太空狗 更新时间:2023-10-30 02:43:09 27 4
gpt4 key购买 nike

我写了一个方法来验证 lineEdit 中的字符:

 def is_validate(self):
regex = QtCore.QRegExp("[a-z-A-Z_]+")
txtDepartment_validator = QtGui.QRegExpValidator(regex, self.txtDepartment)
self.txtDepartment.setValidator(txtDepartment_validator)
return True

然后使用下面的另一种方法

def control_information(self):
if(self.is_validate()):
//Database operations
else:
QtGui.QMessageBox.text("Please enter valid characters")

但是当我输入数字或特殊字符时,它会接受并保存到数据库中。怎么了?

最佳答案

验证器用于替换 is_validate 之类的方法。你不需要这个方法。
问题是您在用户输入后设置验证器,所以已经太晚了。

您应该在创建行编辑时设置一次验证器:

self.line=QtGui.QLineEdit()
regex=QtCore.QRegExp("[a-z-A-Z_]+")
validator = QtGui.QRegExpValidator(regex)
self.line.setValidator(validator)

然后,用户不可能在行编辑中键入任何特殊字符。每次用户键入时,验证器都会检查该字符是否被允许。这是不允许的,它不会添加到行编辑中。不再需要 is_validate

关于python - QLineEdit 只接受 PyQt4 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34399485/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com