思路:基于Python+tkiner的程序,在单机右上角X按钮关闭程序时,会触发'WM_DELETE_WINDOW'消息,如果可以截获这个消息并改变其行为,就可以禁止关闭程序。
具体实现和应用:在我开发的“课堂教学管理系统”中,因为有屏幕广播的功能,所以不允许学生关闭客户端,这样可以在最大程度上保证学生的学习效果(最起码不能在电脑上做学习之外的其他事情)。
def closeWindow():
tkinter.messagebox.showerror(title='警告',\
message='不许关闭,好好学习!')
return
root.protocol('WM_DELETE_WINDOW', closeWindow)
上面的代码加入到学生端代码之后,单机右上角X按钮关闭系统时会被禁止,并弹出下面的窗口:
但是这样的实现有个缺陷,如果打开任务管理器然后结束Python进程的话,仍可以关闭程序,不过这可以通过守护进程来避免和解决,后面再单独行文进行介绍。
补充说明:明天开始,连续讲授7天56节课Python,不一定能保证每天发Python技术文章,看情况吧,尽量。
--------------我是分割线-------------
相关阅读:
--------------我是分割线-------------
“Python小屋”公众号近期主要活动:
1、Python师资培训班:8月6日-12日,济南,面向全国高校老师和企业朋友,通知详见关于举办2017年暑期全国高校教师 “Python编程及应用”培训班通知,赠送Python教材2本、Python教学PPT超过1600页,Python教学视频140集,Python教学案例300个,以及教学大纲、教案、考试题库等全套资源。补充说明:如果不需要安排住宿的话,5天学费2100元(含午餐)。