我正在开发一个自动考勤系统,当学生扫描他的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()
您需要将事件处理程序连接到RFID检测.这是通过上面代码中的按钮模拟的,事件处理程序是welcome()函数.在welcome()中,创建了带有消息的顶级窗口小部件.使用.after()
在2000毫秒(2秒)之后销毁顶级窗口小部件,其注册了在延迟之后调用的回调函数.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。