我希望将Tkinter消息窗口用作错误处理程序。基本上只是说你只能输入" x,y,z"
它被用在要求用户输入的程序上,任何整数都是=>接受0和=< 100。目前它正在工作,但只在标签上显示。
任何人都可以建议我可以用来输入tkinter错误窗口吗?还有任何想法我如何将输入限制为只是整数? 下面是添加功能,一旦用户输入一个数字并点击添加,它就会触发此功能。
如果我没有解释好这个,那么请告诉我,我会尝试扩展它。
def add():
try:
value = int(MarkEnt.get())
assert 0 <= value <= 100
mark.set(value)
exammarks.append(value)
ListStud.insert(len(exammarks),value)
except AssertionError:
error1.set("Please only input whole numbers from 0 to 100")
errorLbl.grid()
答案 0 :(得分:4)
您可以使用tkMessageBox
模块显示错误框。
from Tkinter import *
import tkMessageBox
def clicked():
tkMessageBox.showerror("Error", "Please only input whole numbers")
root = Tk()
button = Button(root, text = "show message box", command = clicked)
button.pack()
root.mainloop()
还有什么想法我如何将输入限制为只有整数?
您可以使用validatecommand
拒绝不符合您规格的输入。
from Tkinter import *
def validate_entry(text):
if text == "": return True
try:
value = int(text)
except ValueError: #oops, couldn't convert to int
return False
return 0 <= value <= 100
root = Tk()
vcmd = (root.register(validate_entry), "%P")
entry = Entry(root, validate = "key", validatecommand=vcmd)
entry.pack()
root.mainloop()