加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在python中关闭tkmessagebox一段时间后

发布时间:2020-12-20 13:49:46 所属栏目:Python 来源:网络整理
导读:我正在开发一个自动考勤系统,当学生扫描他的RFID标签时,他的出勤记录,同时使用tkmessagebox弹出窗口显示欢迎信息.用户将无法控制鼠标或键盘,我希望将消息显示2秒钟并删除消息框.有没有办法可以关闭提议的tkmessagebox弹出窗口? 解决方法 我不认为可以使用tk
我正在开发一个自动考勤系统,当学生扫描他的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秒)之后销毁顶级窗口小部件,其注册了在延迟之后调用的回调函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读