当前位置: 首页 > 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.hskmm.com/?act=detail&tid=13543

相关文章:

  • CSP-2025游寄
  • [::-1]的用法
  • 003_for循环操作列表和元组
  • linux 文件传输命令
  • 新手也能轻松上手!midas Gen 2019 安装详细图解
  • Redis AOF原理
  • 001_string操作
  • hbase 面试题
  • ANSYS Electronics 2025 R1 安装与使用全流程图文教程
  • mall项目学习笔记
  • 实用指南:通义DeepResearch论文六连发全面解读
  • glTF/glb:现在和未来
  • 存储多边形网格的文件格式:OBJ、FBX、RenderMan、glTF、USD 等。
  • 安防监控中常见的报警类型有哪些?国标GB28181平台EasyGBS的报警能力解析
  • Notepad++8.6免费版下载及安装教程(附安装包)2025最新整理
  • VTable-Sheet:重新定义Web电子表格的开源解决方案
  • Coolmuster Android Assistant:Windows架构下的Android设备管理专家
  • 负载均衡+Tomcat集群+MySQL主从 实验
  • mysql表新增字段,基本语法
  • 2025年运营商数据分类分级最佳实践、案例与方案
  • 微波雷达模块WT4101重新定义饮水机茶吧机等智能家居
  • 硝基甲苯之魇
  • day14-Trae之一键换脸APP开发04
  • Linux服务器单网卡如何配置多个的IP地址?
  • 面试常问问题——索引是不是越多越好
  • day38大模型程序开发-GraphRAG实操
  • 关于串口通信(232、485、422)和常见问题,一篇文章就给你说清楚~
  • day13-Trae之一键换脸APP开发03
  • python第一天
  • 摩尔投票法