我构造了一个wxtctrl,如果用户只输入数字,我想返回true。你知道吗
下面是我的Python代码:
@staticmethod
def isAllDigits(s):
for char in list(s):
if not char.isdigit():
return False
else:
break
return True
我的代码调用的是所有数字:
if self.firstNum.IsEmpty() or not self.isAllDigits(self.firstNum.GetValue()):
self.dataInputIsValid = False
msgStr = "Your first number is invalid, please enter only enter digits and do not leave the field blank."
wx.MessageBox(msgStr)
if self.secondNum.IsEmpty() or not self.isAllDigits(self.secondNum.GetValue()):
self.dataInputIsValid = False
msgStr = "Your second number is invalid, please enter only enter digits and do not leave the field blank."
wx.MessageBox(msgStr)
出于某种原因,我的isAllDigits方法并不是只检测数字。例如,如果我要在textCtrl中输入“3k5”,我的程序返回“3k5”是所有数字并且是有效的,这是不正确的。你知道吗
我的isAllDigits方法有什么问题?你知道吗
这次尝试。。。除了在pyqt4qlineedit上为我工作
如果以“-”或“+”开头,则不会引发异常。它允许浮动;不允许出现错误,如“3.14.14”。它省略了错误的字符并将光标移到行的末尾。你可能需要调整它来为你的应用程序工作。你知道吗
你可以这样做
或者在您的方法中删除
else .. break
部分相关问题 更多 >
编程相关推荐