用Python弹窗定时记录工作

工作一天下来 , 忙个忙死 , 回想下又不知道干了什么 .

  • 撸代码
  • 分析需求
  • 开会
  • balabala ...

之前弄了个定时提醒 , 一个小时提醒一次 , 提示记录一下工作 . 不要盲目 .

利用Win10计划任务 + 弹窗,提醒你自己

操作起来还是不够便利 , 索性在弹窗里直接记录好了.

脚本来一打

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from tkinter import *
import time
from tkinter import messagebox
import os

# 内容要保存的目录
DATA_DIR = "/path/to/work_record"  # 结尾不要跟 分隔符
# 本脚本所在的目录,为的是怕忘记了
PY_DIR = "/path/to/pyshell/pyrecord.py"


class MY_GUI():
    def __init__(self, init_window_name):
        self.init_window_name = init_window_name

    # 设置窗口
    def set_init_window(self):
        self.init_window_name.title("Hour Record")  # 窗口名
        # self.init_window_name.geometry('320x160+10+10')                         #290 160为窗口大小,+10 +10 定义窗口弹出时的默认展示位置
        self.init_window_name.geometry('480x240-100-100')
        # self.init_window_name["bg"] = "pink"                                    #窗口背景色,其他背景色见:blog.csdn.net/chl0000/article/details/7657887
        # self.init_window_name.attributes("-alpha",0.9)                          #虚化,值越小虚化程度越高

        self.init_window_name.bind("<Control-s>", self.keyRecord)                  # 快捷键 Ctrl+s 保存并关闭窗口
        self.init_window_name.bind("<Control-h>", self.keyDirFunc)                 # 快捷键 Ctrl+h 显示目录
        self.init_window_name.bind("<Control-q>", self.keyQuit)                    # 快捷键 Ctrl+q 直接退出
        # 文本框
        self.init_data_Text = Text(self.init_window_name, width=68, height=16)  # 录入框
        self.init_data_Text.focus_set()
        self.init_data_Text.grid(row=0, column=0, columnspan=3)
        # 按钮
        self.dir_button = Button(self.init_window_name, text="目录", bg="#ccc", width=18,
                                 command=self.dirFunc)  # 调用内部方法  加()为直接调用

        self.dir_button.grid(row=1, column=0)
        self.str_trans_to_md5_button = Button(self.init_window_name, text="O  K", bg="lightblue", width=48,
                                              command=self.record)  # 调用内部方法  加()为直接调用
        self.str_trans_to_md5_button.grid(row=1, column=1, columnspan=2)

    def keyQuit(self,event):
        self.init_window_name.destroy()

    def keyDirFunc(self,event):
        self.dirFunc()

    def dirFunc(self):
        messagebox.showinfo("目录", "保存目录:" + DATA_DIR + "\n 脚本目录:" + PY_DIR)

    def keyRecord(self,event):
        self.record()

    def record(self):
        src = self.init_data_Text.get(1.0, END)
        filename = time.strftime('%Y%m', time.localtime(time.time())) + ".md"               # 文件直接保存为 .md , 个人喜欢使用markdown来写作.
        file = open(file=DATA_DIR + os.sep + filename, mode="a+", encoding='utf-8')

        cont = "\n\n" + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + "\n---\n" + str(src)

        file.write(cont)

        self.init_window_name.destroy()



def gui_start():
    init_window = Tk()  # 实例化出一个父窗口
    ZMJ_PORTAL = MY_GUI(init_window)
    # 设置根窗口默认属性
    ZMJ_PORTAL.set_init_window()

    init_window.mainloop()  # 父窗口进入事件循环,可以理解为保持窗口运行,否则界面不展示


gui_start()

界面

界面丑了点 , 用起来还可以.

结语

  • 文件输出为markdown
  • 文件名格式为: 202005.md (%Y%m.md)
  • 记录内容为:
2020-05-09 10:09:02
---
第一次记录
把这个脚本撸完整了, 就这么用了  
然后写个博客记录一下, 正在写博客

TODO

posted @ 2020-05-09 10:21  孙行者、  阅读(822)  评论(0编辑  收藏  举报