2024-06-01 08:05:41 发布
网友
嘿,我正在使用Tkinter Python,我有一个名称条目
如果输入的名称无效,则会在新窗口中出现错误。我希望在打开此错误时,原始窗口或按钮变灰,然后在关闭后恢复正常。这可能吗?我不希望该按钮被垃圾邮件和打开多个错误框
enter image description here
我将告诉你两种方法
我建议使用tkinter.messagebox向用户显示错误(或信息),因为它将禁用root窗口,直到它保持打开状态。它根据系统首选项播放声音,并允许按enter键关闭弹出窗口
tkinter.messagebox
root
像这样:
import tkinter as tk import tkinter.messagebox as msgb # use your preferred import style def submit(): if e.get() == 'something': # check input here doSomething() else: msgb.ShowError('Invalid input', 'seems like you entered incorrect name') root = tk.Tk() e = tk.Entry(root) e.pack() btn = tk.Button(root, text='Submit', command=submit) btn.pack() root.mainloop()
第二种方法:
如果您真的只需要使用顶层窗口,并且必须灰显输入框(和/或按钮)-以下是如何
import tkinter as tk def submit(): if e.get() == 'something': # check input here doSomething() else: e.configure(state=tk.DISABLED) btn.configure(state=tk.DISABLED) newWindow = tk.Toplevel() showSomethingHere() root = tk.Tk() e = tk.Entry(root) btn = tk.Button(root, text='Submit', command=submit) e.pack() btn.pack() root.mainloop()
我将告诉你两种方法
我建议使用
tkinter.messagebox
向用户显示错误(或信息),因为它将禁用root
窗口,直到它保持打开状态。它根据系统首选项播放声音,并允许按enter键关闭弹出窗口像这样:
第二种方法:
如果您真的只需要使用顶层窗口,并且必须灰显输入框(和/或按钮)-以下是如何
相关问题 更多 >
编程相关推荐