本帖最后由 遗憾只藏心底 于 2022-5-27 08:42 编辑
最近感觉事情比较多,本来把需要做的事发给小号来提醒自己。但是有时候忙起来就忘了,然后想写个提醒工具之类的。
就写了个提醒小助手,功能还不够完善。
程序主界面:
时间举例:12:12、21:10 时间要按照00:00格式进行输入,不然提醒开始后再添加新的提醒事项时间格式不是这类的会报错。后续再处理类型是提醒类型:单次或者每日
排序会默认按照时间进行排序,并且清除包含空内容的行。添加按钮即添加一行空行。
这里配合删除按钮使用,写入1、2、3、4即删除对应1、2、3、4行,写入0即全部删除,写入空(即啥都不写)为删除已经提醒过的单次提醒事项,每日提醒并不会被删除。
点击提醒即开始监控时间到时间会右下角通知提醒。提醒样例:
然后exe目录下会写出两个日志,用来观察程序运行状态。
后续有时间再优化下,保存 导入提醒事项之类的
https://wwt.lanzouo.com/i3zJ9xkb95i
密码:key3
2022-5-27更新:
每次关机或者关闭程序会导致已经填入的提醒事项消失,添加xml配置文件,每次打开程序会读取目录下xml对提醒事项进行配置。
XML文件格式:每一个ReminProject对应一个提醒事项
[XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="utf-8"?>
<settings>
<RemindProject id="0" Time="3:00" Content="吃饭" pattern="单次"/>
<RemindProject id="1" Time="14:00" Content="学习强国" pattern="单次"/>
<RemindProject id="2" Time="16:00" Content="awewa" pattern="每日"/>
<RemindProject id="3" Time="17:00" Content="吃饭" pattern="每日"/>
</settings>
事项保存的话是通过添加后台线程进行每5s对xml配置文件进行更新。
线程关闭有点问题,关闭pyqt5可视化程序界面,更新xml的线程仍在后台运行,
from concurrent.futures import ThreadPoolExecutor:我是使用的submit这个进行线程池添加线程
线程关闭我采用的是pyqt5的closeEvent重写方法调用os命令去任务管器里面寻找对应名字的线程进行关闭,并不是一个很好的关闭方法,暂未找到更好的方法。
源码链接:
https://wwb.lanzouj.com/i3Y3y05h52je
密码:2tme
pyinstaller打包后的exe文件链接:
https://wwb.lanzouj.com/ioff105h56sh
密码:8bmf
|