python自动关闭弹窗_python – 每隔x分钟创建一个tkinter窗口,然后在y秒后自动关闭它...

我正在尝试构建一个简单的程序来提醒我在使用计算机时休息一下.我对

python有一个合理的理解,但以前从未玩过GUI编程或线程,所以以下基本上是从stackoverflow复制/粘贴:

import threading

import time

import Tkinter

class RepeatEvery(threading.Thread):

def __init__(self, interval, func, *args, **kwargs):

threading.Thread.__init__(self)

self.interval = interval # seconds between calls

self.func = func # function to call

self.args = args # optional positional argument(s) for call

self.kwargs = kwargs # optional keyword argument(s) for call

self.runable = True

def run(self):

while self.runable:

self.func(*self.args, **self.kwargs)

time.sleep(self.interval)

def stop(self):

self.runable = False

def microbreak():

root = Tkinter.Tk()

Tkinter.Frame(root, width=250, height=100).pack()

Tkinter.Label(root, text='Hello').place(x=10, y=10)

threading.Timer(3.0, root.destroy).start()

root.mainloop()

return()

thread = RepeatEvery(6, microbreak)

thread.start()

这给了我第一次中断通知但在给我第二次中断通知之前失败了.

Tcl_AsyncDelete: async handler deleted by the wrong thread

fish: Job 1, “python Documents/python/timer/timer.py ” terminated by

signal SIGABRT (Abort)

有任何想法吗?我很乐意使用除了tkinter之外的其他东西用于gui-stuff或者除了线程以外的东西来实现时间的东西.

根据以下答案,我的新工作脚本如下:

import Tkinter as Tk

import time

class Window:

def __init__(self):

self.root = None

self.hide = 10 #minutes

self.show = 10 #seconds

def close(self):

self.root.destroy()

return

def new(self):

self.root = Tk.Tk()

self.root.overrideredirect(True)

self.root.geometry("{0}x{1}+0+0".format(self.root.winfo_screenwidth(), self.root.winfo_screenheight()))

self.root.configure(bg='black')

Tk.Label(self.root, text='Hello', fg='white', bg='black', font=('Helvetica', 30)).place(anchor='center', relx=0.5, rely=0.5)

#Tk.Button(text = 'click to end', command = self.close).pack()

self.root.after(self.show*1000, self.loop)

def loop(self):

if self.root:

self.root.destroy()

time.sleep(self.hide*60)

self.new()

self.root.mainloop()

return

Window().loop()

最佳答案 我认为没有线程就可以更轻松地实现这一点,而Tkinter并没有很好地集成.相反,您可以使用after和after_idle方法来安排在特定超时后运行的回调.您可以创建一个显示窗口的方法并将其计划为隐藏窗口,另一个方法隐藏窗口并安排窗口显示.然后他们只会在无限循环中互相称呼:

import Tkinter

class Reminder(object):

def __init__(self, show_interval=3, hide_interval=6):

self.hide_int = hide_interval # In seconds

self.show_int = show_interval # In seconds

self.root = Tkinter.Tk()

Tkinter.Frame(self.root, width=250, height=100).pack()

Tkinter.Label(self.root, text='Hello').place(x=10, y=10)

self.root.after_idle(self.show) # Schedules self.show() to be called when the mainloop starts

def hide(self):

self.root.withdraw() # Hide the window

self.root.after(1000 * self.hide_int, self.show) # Schedule self.show() in hide_int seconds

def show(self):

self.root.deiconify() # Show the window

self.root.after(1000 * self.show_int, self.hide) # Schedule self.hide in show_int seconds

def start(self):

self.root.mainloop()

if __name__ == "__main__":

r = Reminder()

r.start()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KubeVela 成为 CNCF 沙箱项目,让云端应用交付更加简单

简介: KubeVela 就是这样一个面向用户的上层平台项目。对于业务开发者来说,KubeVela 简单、易用,它可以让开发者以极低的心智负担和上手成本在 Kubernetes 上定义与部署应用... 但更重要的是,对于平台团队来说,KubeVel…

携程梁建章:要让元宇宙技术成为真宇宙探索、旅游的灵感来源

“我们要把旅游做的更有交互性,更有沉浸感,更有趣,远远抛开元宇宙。” 携程集团联合创始人,董事局主席梁建章在12月9日于澳门伦敦人举办的全球合作伙伴峰会上,发表了对热门话题“元宇宙”的看法并表示,激发…

shell两个时间字符串插值_Shell 脚本速成

0x00 前言这段时间快速把 Micropoor 的内网课程看完了一遍,里面出现了很多 Shell 脚本。Shell 脚本有什么好处?无需安装其他软件适合任务自动化,擅长系统管理任务通过 Shell 编程,大大提高渗透效率。0x01 第一个 shell 脚本功能&a…

Quick Audience组织和工作空间功能解读

近期,Quick Audience完成了权限系统全面升级,可以解决集团企业不同品牌、不同运营组织,不同消费者运营的诉求,精细化保障企业数据访问安全,提升管控的灵活度。 Quick Audience整个系统分为组织管理和工作空间两层。一个…

mac安装python环境教程_python mac下安装虚拟环境的图文教程

Mac 下 Flask 框架 workon命令找不到 ---- 最终解决方案(详解具体实现操作过程中遇到的坑)2018年08月17日 00:02:05Jasonmes阅读数:622 Mac 下 Flask 的 全网最详细搭建1.安装virtualenv和virtualenvwrapper sudo pip install virtualenv# 以…

Gartner预测:芯片短缺,十大汽车主机厂未来一半都将自主设计芯片

根据Gartner的预测,由于芯片短缺以及汽车的电气化和自动化等趋势,十大汽车主机厂(OEM)中的一半将在2025年自主设计芯片,而这将增强他们对自身产品路线图和供应链的控制。 Gartner研究副总裁Gaurav Gupta表示&#xff1…

数据智能构建管理平台Dataphin V2.9.4.3版本发布

简介: Dataphin发布V2.9.4.3版本升级多项产品能力,该版本在产品功能和用户体验上都进行了优化和提升,旨在为用户提供更完善的产品能力和体验,以加速企业数据中台建设进程。 1 产品简介 Dataphin是阿里巴巴集团OneData数据治理方…

host文件注释 ubuntu_Redis and MongoDB 设置密码验证(scrapy)(win)(ubuntu)

1 . Rediswin101.找到 redis.windows.conf ,对其进行编辑。将 # requirepass foobared 更改为 requirepass yourpassword 2.重新启动 redis-server 服务,如: redis-server redis.windows.conf (以redis.windows.conf为配置启动redis-server)ubuntu1.ubuntu下Redis的配置文件为…

阿里云罗小飞:阿里云边缘云,从资源到场景的产品演进

2021年7月1日,以“云集影从,融网聚生”为主题的GIDC全球互联网数据大会在上海成功举行。本次大会由中国信通院指导,艾迪网主办,邀请来自政府、产业等多领域的专家,围绕“新基建”、“绿色数据中心”、“云网协同”、“…

乾通嗖嗖抢先布局多元化用工 实现全流程数智化人力管理

12月9日,乾通互连战略升级暨乾通嗖嗖媒体发布会在北京举行。在发布会上,乾通互连对外宣布组织架构再升级,未来将围绕薪酬社保福利及多元化用工两大业务板块进行战略布局,推出多元化用工解决方案——乾通嗖嗖。 乾通嗖嗖通过线上多…

那些年,我们一起做过的性能优化

简介: 性能优化是一个体系化、整体性的事情,印刻在项目开发环节的各个细节中,也是体现技术深度的大的战场。文章以Quick BI的复杂系统为背景,详细介绍性能优化的思路和手段,以及体系化的思考。 一直以来,性…

python的turtle库是另外下载嘛吗_python—turtle库的基本介绍

一、turtle库概述: turtle(海龟)库是turtle绘图体系python的实现; turtle绘图体系:1969年诞生,主要用于程序设计入门; turtle库是python的标准库之一;属于入门级的图形绘制函数库&am…

中继承父类实现父类方法的快捷键_关于封装、继承

在初期,很多人对于java中一些定义的认识比较模糊,今天我就来详细讲一讲我所认识的封装和继承。1、封装1.1)概念:将类的某些信息隐藏在内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息…

KubeVela 上手(1)|让云端应用交付更加丝滑

简介: KubeVela 是阿里云和微软共同发起的 OAM(Open Application Model)标准的技术实现,旨在打造统一、标准、跨环境的云端应用交付,省时省力,轻松简单 作者|KubeVela 社区 本文适合所有软件工…

华为云云原生首次在太空验证,提升“天算星座“卫星计算精度

12月10日,搭载“天算星座”计算平台的试验卫星在轨稳定运行,华为云“云边一体”方案首次在太空验证。 图:天算星座计划 “天算星座”计划,由北京邮电大学深圳研究生院与天仪研究院共同发起,以服务国家重大战略需求和…

火柴人_火柴人战争遗产修改无限金币钻石

火柴人战争遗产修改无限金币钻石V1.11.160/中文/80M商店内使用钻石购买商品不减反增【一、游戏简介】《火柴人战争遗产修改版 Stick War: Legacy》一直最受玩家欢迎、评分最高的一款网游现在推出移动版.玩 Stick War,体验这款最受欢迎、最有趣、最具挑战性且容易入迷…

一种通用整形数组压缩方法

简介: 我们在开发中后台应用或者中间件的时候,会存储一些数据在内存中以加快访问速度。随着数据量的增加,除了可以放置于堆外,还可以通过实时压缩来缓解。今天就给大家介绍一种压缩整形数组的方式。 作者 | 玄胤 来源 | 阿里技术公…

gitlab git clone 卡住_gitlab从入门到绝望

啥年月了还用svn,日了狗一样难受。开搞!docker是最好的容器,直接docker装gitlab。学新玩意不去官网不是人:https://docs.gitlab.com/omnibus/docker/#expose-gitlab-on-different-portsdocker pull gitlab/gitlab-cesudo docker r…

FBEC2021暨第六届金陀螺奖颁奖典礼盛大开幕

2021年12月10日,由广东省游戏产业协会、广东省虚拟现实产业技术创新联盟、深圳市科学技术协会、深圳市互联网文化市场协会指导,陀螺科技主办,深圳市科技开发交流中心、恒悦创客魔方协办,行业头部媒体游戏陀螺、VR陀螺、陀螺电竞、…

RDS PostgreSQL一键大版本升级技术解密

简介: 内容简要: 一、PostgreSQL行业位置 二、PostgreSQL版本升级背景 三、PostgreSQL版本升级解密 四、PostgreSQL版本升级成果 一、PostgreSQL行业位置 (一)行业位置 在讨论PostgreSQL(下面简称为PG)在…