问题背景
这个月因为上班忘记打卡,补打卡的次数已经用完了,现在开始扣工资了,这不能跟钱过不去啊。所以使用python写了一个上班打卡提醒的程序,Windows电脑开机时自动弹出一个提醒窗口,就提醒打卡,这样应该可以完成上班打卡的操作了。
解决方法
我这里是写了一个简单的Python脚本,它使用了Tkinter库来创建一个简单的图形用户界面(GUI),将创建一个窗口并在其中显示打卡提醒,当用户点击“打卡完成”按钮时,程序将关闭窗口。
import tkinter as tk
# 全局变量声明
root = None
text_label = None
# 关闭窗口的函数
def close_window():
global root
root.destroy()
# 切换文本标签颜色的函数
def toggle_text_color():
global text_label
if text_label.cget("fg") == "red":
text_label.config(fg="white")
else:
text_label.config(fg="red")
root.after(500, toggle_text_color) # 500毫秒后再次调用自身
# 创建窗口的函数
def create_window():
global root, text_label
root = tk.Tk()
root.overrideredirect(True)
root.configure(bg="white") # 设置背景颜色为乳白色
# 获取屏幕的宽度和高度
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
# 计算窗口的宽度和高度
window_width = 1300
window_height = 500
# 计算窗口的初始位置(居中)
x_coordinate = (screen_width // 2) - (window_width // 2)
y_coordinate = (screen_height // 2) - (window_height // 2)
# 设置窗口的初始位置和大小
root.geometry(f"{window_width}x{window_height}+{x_coordinate}+{y_coordinate}")
# 创建文本标签并设置属性
text_label = tk.Label(root, text="上班打卡!!!", font=("Arial", 90), fg="red", bd=0) # 设置边框宽度为0
text_label.pack(expand=True, fill=tk.BOTH, padx=20, pady=20)
# 创建“打卡完成”按钮
def on_check_in():
close_window() # 点击按钮时调用关闭窗口的函数
check_in_button = tk.Button(root, text="打卡完成", command=on_check_in)
check_in_button.pack(pady=20) # 在标签下方添加一些空间,然后放置按钮
# 开始文字颜色闪烁
toggle_text_color()
# 创建Tkinter主窗口
create_window()
root.mainloop()
然后把这个代码打包成EXE文件,方便在没有python环境的电脑上运行。运行效果图如下所示
自动化执行
在这里我们需要使用Windows的任务计划程序。以下是设置步骤:
1、在开始菜单栏中搜索并打开“任务计划程序”。
2、在“操作”菜单中选择“创建基本任务...”
3、输入任务的名称和描述,例如“上班打卡提醒”
4、选择“当用户登录时”作为触发器。
5、选择“启动程序”作为操作,并浏览到你的EXE文件。 6、完成设置并保存任务。
现在,每次Windows启动并登录时,你的打卡提醒程序就会自动运行。