用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

  • [ ] 自動同步到git上去 . 可以方便多臺電腦共享
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章