当前位置: 首页 > news >正文

保护眼睛小程序

import wx
import time
from datetime import datetime, timedelta

class MyFrame(wx.Frame):
def init(self):
super().init(None, title='用眼提醒', size=wx.Size(800, 600))
self.SetWindowStyle(wx.STAY_ON_TOP)

    # 创建自定义按钮self.b = wx.Button(parent=self, label='用眼已经超过20分钟了\n休息休息!!!\n点击文字可以关闭窗口', style=wx.BORDER_NONE)font = wx.Font(32, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)self.b.SetFont(font)self.b.SetBackgroundColour(wx.Colour(255, 255, 255, 0))  # 设置透明背景self.b.SetForegroundColour(wx.Colour(0, 0, 0))  # 设置字体颜色为黑色self.Bind(wx.EVT_BUTTON, self.on_click, self.b)# 使用布局管理器vbox = wx.BoxSizer(wx.VERTICAL)vbox.Add(self.b, proportion=1, flag=wx.EXPAND | wx.BOTTOM, border=5)self.SetSizer(vbox)# 初始化倒计时相关变量self.remaining_time = 3  # 倒计时初始为3秒def on_click(self, event):# 开始倒计时self.update_countdown()def update_countdown(self):if self.remaining_time > 0:# 更新按钮文本self.b.SetLabel(f'20分钟后将再次提示\n {self.remaining_time} 秒后窗口自动关闭')self.remaining_time -= 1# 每秒调用一次更新倒计时wx.CallLater(1000, self.update_countdown)else:# 倒计时结束,关闭窗口self.close_window()def close_window(self):self.Close()

def task():
app = wx.App()
frm = MyFrame()
frm.Centre()
frm.ShowFullScreen(True)
frm.Show()
app.MainLoop()

def main():
next_run_time = datetime.now() + timedelta(minutes=0)

while True:current_time = datetime.now()if current_time >= next_run_time:task()next_run_time = current_time + timedelta(minutes=20)time.sleep(1)

if name == "main":
main()

http://www.gsyq.cn/news/9683.html

相关文章:

  • 001_string操作
  • hbase 面试题
  • mall项目学习笔记
  • 存储多边形网格的文件格式:OBJ、FBX、RenderMan、glTF、USD 等。
  • 实用指南:Unity 游戏引擎中 HDRP(高清渲染管线) 的材质着色器选择列表
  • 安防监控中常见的报警类型有哪些?国标GB28181平台EasyGBS的报警能力解析
  • LAMP 环境一键部署脚本(Apache+MySQL+PHP) - 实践
  • 【ubuntu24.04】NFS机械硬盘无法挂载成功 - 实践
  • VTable-Sheet:重新定义Web电子表格的开源解决方案
  • Coolmuster Android Assistant:Windows架构下的Android设备管理专家
  • Linux服务器单网卡如何配置多个的IP地址?
  • day38大模型程序开发-GraphRAG实操
  • 深入解析MS12-020关键漏洞CVE-2012-0002:远程桌面协议的安全风险与缓解方案
  • 鸿蒙项目实战(九):get请求参数的处理
  • 20250806_信安一把梭_test
  • 专业 RAW 图像处理利器!DxO PhotoLab 让你的照片质感飙升
  • mysql时间转字符串,自定义格式将日期时间值转换为字符串
  • 其他与其它的区别
  • 实用指南:数据库造神计划第十七天---索引(2)
  • 指令流水线
  • nuget控制台乱码的解决办法
  • WPF TextBlock effect DropShadrowEffect,BlurEffect
  • 在控制台执行这段代码可以列出所有::selection规则
  • 超前探展!2025 云栖大会朋友圈晒图必备
  • 进程池
  • 报表神器Stimulsoft再升级!Stimulsoft Reports、Dashboards 和 PDF Forms 2025.4 即将发布!
  • 数显LED驱动芯片恒流数码管驱动IC内置显示RAM为816位 VK16D33
  • 【AI智能体】Dify 搭建数据分析应用实战操控详解
  • PostgreSQL 全表 count 优化实践:从 SeqScan 痛点分析到 heapam 改进与性能突破
  • Lightroom Classic 2025:精细调控,呈现完美画质,专业级数字照片管理与后期处理全解析