Python 3.x 当输入的字符太多/或太少时,如何显示消息框
嘿,我对python比较陌生,我正在为一个学校项目创建一个记忆游戏。我设置的方式是,用户选择一个难度,然后显示字符(6个随机字符),然后显示输入字符屏幕。我想实现一个消息框,当用户输入超过6个字符或少于6个字符时,它会出现,阻止他们进入正确或不正确的屏幕Python 3.x 当输入的字符太多/或太少时,如何显示消息框,python-3.x,tkinter,Python 3.x,Tkinter,嘿,我对python比较陌生,我正在为一个学校项目创建一个记忆游戏。我设置的方式是,用户选择一个难度,然后显示字符(6个随机字符),然后显示输入字符屏幕。我想实现一个消息框,当用户输入超过6个字符或少于6个字符时,它会出现,阻止他们进入正确或不正确的屏幕 class EnterCharacterScreen(tk.Frame): def __init__(self, parent, controller): tk.Frame.__init__(self, parent, bg
class EnterCharacterScreen(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent, bg="#2699C3")
self.controller = controller
lbl1 = tk.Label(self, text=" ", fg="white", bg="#2699C3")
lbl1.pack()
lbl2 = tk.Label(self, text=" ", fg="white", bg="#2699C3")
lbl2.pack()
lbl3 = tk.Label(self, text=" ", fg="white", bg="#2699C3")
lbl3.pack()
lbl4 = tk.Label(self, text=" ", fg="white", bg="#2699C3")
lbl4.pack()
lbl5 = tk.Label(self, text=" ", fg="white", bg="#2699C3")
lbl5.pack()
label = tk.Label(self, text="What were your characters?", font=controller.title_font, bg="#2699C3")
label.pack(side="top", fill="x", pady=10)
def get_answer():
if entry_characters.get() == word:
controller.show_frame("CorrectScreen")
else:
controller.show_frame("IncorrectScreen")
def get_answer2(event):
if entry_characters.get() == word:
controller.show_frame("CorrectScreen")
else:
controller.show_frame("IncorrectScreen")
global entry_characters
entry_characters = tk.Entry(self, justify="center")
entry_characters.pack(fill=tk.X, padx=10, pady=10)
entry_characters.config(font=("Courier", 96))
entry_characters.bind("<Return>", get_answer2)
global button_submit
button_submit = tk.Button(self, text="Submit", command=get_answer, height=4, width=20)
button_submit.pack(fill=tk.X, padx=10, pady=10)
button_submit.config(font=("System", 10))
class EnterCharacterScreen(传统框架):
定义初始化(自、父、控制器):
tk.Frame.uuu init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
self.controller=控制器
lbl1=tk.标签(self,text=”“,fg=“白色”,bg=“#2699C3”)
lbl1.pack()
lbl2=tk.标签(self,text=”“,fg=“白色”,bg=“#2699C3”)
lbl2.pack()
lbl3=tk.标签(self,text=”“,fg=“白色”,bg=“#2699C3”)
lbl3.pack()
lbl4=tk.标签(self,text=”“,fg=“白色”,bg=“#2699C3”)
lbl4.pack()
lbl5=tk.标签(self,text=”“,fg=“白色”,bg=“#2699C3”)
lbl5.pack()
label=tk.label(self,text=“你的角色是什么?”,font=controller.title\u font,bg=“#2699C3”)
标签包装(侧面=“顶部”,填充=“x”,pady=10)
def get_answer():
如果条目\u个字符.get()==单词:
控制器。显示帧(“校正屏幕”)
其他:
控制器。显示画面(“不正确屏幕”)
def get_answer2(事件):
如果条目\u个字符.get()==单词:
控制器。显示帧(“校正屏幕”)
其他:
控制器。显示画面(“不正确屏幕”)
全局输入字符
输入字符=tk.entry(self,justify=“center”)
输入字符.pack(fill=tk.X,padx=10,pady=10)
entry_characters.config(字体=(“Courier”,96))
条目\u字符.bind(“,get\u answer2)
全局按钮提交
按钮提交=tk.按钮(self,text=“submit”,command=get\u answer,高度=4,宽度=20)
按钮提交包(填充=tk.X,padx=10,pady=10)
按钮_submit.config(字体=(“系统”,10))
如果将输入框链接到tkinter StringVar,则可以跟踪输入框的内容并使用函数检查内容的长度。请参见此处的effbot文档:
您可以使用tkinter TopLevel小部件创建一个消息框,或者如果用户没有输入六个字符,您也可以禁用submit按钮