python+tkinter桌面時鐘
導言
Windows7系統有一個很好的桌面小外掛就是桌面時鐘。但是近期Windows7停服導致此係統不再那麼安全。許多升級Windows10的朋友發現自己找不到桌面小外掛了。使用第三方外掛總感覺沒有那麼安全。
別人的終歸是別人的,還是自己寫一個安全的程式好用些。話不多說上程式碼。
主程式
import time
import tkinter as tk
class Clock(tk.Tk):
def __init__(self) -> None:
super().__init__()
#設定視窗初始位置
self.x, self.y = 0, 0
#設定視窗初始大小
self.window_size = '265x30'
#設定視窗置頂
self.attributes("-topmost", 1)
#初始化時間字串
self.time_text = ""
#去掉標題欄
self.overrideredirect(1)
#設定透明度(取值範圍:[0,1])
self.attributes("-alpha", 0.4)
#新增視窗移動事件
self.bind("<B1-Motion>",self.move)
#設定字元標籤
self.lbl = tk.Label(self,
#文字內容是時間字串
text=self.time_text,
#設定字型大小及格式
font=("ds-digital", 20),
#設定背景色
background="black",
#設定字型顏色
foreground="cyan")
#新增到視窗
self.lbl.pack()
#更新時間
self.update_time()
def move(self, event):
"""視窗移動事件"""
self.geometry(f"{self.window_size}+{(event.x - self.x) + self.winfo_x()}+{(event.y - self.y) + self.winfo_y()}")
def update_time(self):
#設定時間格式
self.lbl.config(text=time.strftime("%Y-%m-%d %H:%M:%S"))
#設定更新時間頻率
self.after(1000, self.update_time)
#程式主函式
Clock().mainloop()
打包
程式碼每行都有註釋,相信大家都能看懂。當然可以說這就可以結束了,但是每次執行都需要開啟開發環境並執行此程式,還是很麻煩。
那就打包成exe檔案並新增到開機啟動項吧。
首先檢查python裡面有沒有pywin32和pyinstaller。可以使用pip list
命令。
如果沒有,可以使用pip install pywin32
和pip install pyinstall
安裝它。
然後開啟pyinstall路徑(預設在C:\Users\DELL\AppData\Local\Programs\Python\Python38-32\Scripts
裡面。)
記住此路徑,開啟cmd並輸入cd C:\Users\DELL\AppData\Local\Programs\Python\Python38-32\Scripts
切換到此目錄,然後輸入pyinstaller -F -w D:\Users\SEL\IdeaProjects\src\桌面時鐘\2.py
即可。其中-F為生成單個可執行檔案.exe,-w可以遮蔽控制檯視窗,只顯示桌面時鐘。
當然也可以更換圖示,命令是pyinstaller -F -w -i D:\Desktop\picture.ico D:\Users\SEL\IdeaProjects\src\桌面時鐘\2.py
第一個路徑是圖示檔案.ico路徑,第二個是python程式碼路徑
生成的可執行檔案位置系統會直接顯示出來。
然後開啟此檔案,在執行視窗輸入shell:startup
開啟啟動目錄,把此檔案放進去即可。也可以在可執行程式路徑下右鍵生成快捷方式,把此快捷方式放進啟動目錄裡。