Sea*_*lla 7 python tk-toolkit tkinter tkmessagebox python-2.7
我正在开发一个自动出勤系统,当学生扫描他的 RFID 标签时,他的出勤率会被记录下来,同时使用 tkmessagebox 弹出窗口显示欢迎消息。用户将无法控制鼠标或键盘,我想将消息显示 2 秒钟并删除消息框。有没有办法像建议的那样关闭 tkmessagebox 弹出窗口?
我不认为它可以完成,tkMessageBox因为这会创建一个模式对话框,并且您无权访问小部件 id(以便可以以编程方式销毁它)。
但创建您自己的顶级窗口,向其添加一些欢迎消息,然后在一段时间后关闭它并不难。像这样的东西:
from Tkinter import *
WELCOME_MSG = '''Welcome to this event.
Your attendance has been registered.
Don't forget your free lunch.'''
WELCOME_DURATION = 2000
def welcome():
top = Toplevel()
top.title('Welcome')
Message(top, text=WELCOME_MSG, padx=20, pady=20).pack()
top.after(WELCOME_DURATION, top.destroy)
root = Tk()
Button(root, text="Click to register", command=welcome).pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
您需要将事件处理程序连接到 RFID 检测。上面代码中是通过一个按钮来模拟的,事件处理程序就是函数welcome()。在welcome()带有消息的顶级小部件中创建。顶级小部件在 2000 毫秒(2 秒)后被销毁,使用.after()它注册一个延迟后调用的回调函数。
| 归档时间: |
|
| 查看次数: |
10583 次 |
| 最近记录: |