Python 3.x 当输入的字符太多/或太少时,如何显示消息框

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

嘿,我对python比较陌生,我正在为一个学校项目创建一个记忆游戏。我设置的方式是,用户选择一个难度,然后显示字符(6个随机字符),然后显示输入字符屏幕。我想实现一个消息框,当用户输入超过6个字符或少于6个字符时,它会出现,阻止他们进入正确或不正确的屏幕

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按钮