我在使用PyQt4理解输入验证方面遇到了一些麻烦.这是我的第一个GUI应用程序,第一次使用PyQt4框架.我一直在阅读Class引用,看起来像文本验证的首选方法是通过QRegularExpression类,但对于一些简单的输入验证来说这似乎过分了.
我的注册用户类中有一个方法,可以将用户添加到sqlite数据库中.我还为QlineEdits创建了一个信号,该信号连接到验证文本的方法.SQL输入工作正常但由于某种原因输入验证没有.这不会引起错误.MessageBoxes不会弹出.据我所知,我只创建了一个SIGNAL,但这仅用于测试.
def newUser(self): #This method adds a new user into the login database and displays a pop up window confirming the entry
c.execute("INSERT INTO logins(usernames, passwords)VALUES(?,?)", (self.userEdit.text(), self.passEdit.text())) #sql query inserts entries from line edit and pass edit into database
c.commit() #Save database changes
self.connect(self.userEdit, QtCore.SIGNAL("textchanged()"), self.validText)
def validText(self):
if len(self.userEdit.text()) < 4:
if len(self.passEdit.text()) < 4:
self.msg = QtGui.QMessageBox.information(self, 'Message', 'Not enough characters!', QtGui.QMessageBox.Ok)
else:
self.msg = QtGui.QMessageBox.information(self, 'Message', 'User added successfully', QtGui.QMessageBox.Ok)
Run Code Online (Sandbox Code Playgroud)
在语义上我知道这是有道理的,但我无法弄清楚我在语法上的错误.有人可以告诉我,除了使用len之外,是否还有另一个我应该关注的概念?
提前致谢!