基于python實現(xiàn)開箱即用的桌面時鐘
其實之前的文章我也有相關(guān)的內(nèi)容:
那這次又來了,豈不是重復(fù)的造輪子?事實并不是這樣的。這次在之前的基礎(chǔ)上實現(xiàn)的功能有:
- 桌面時鐘可以時鐘保持在所有窗口的最上邊,且窗體的透明度為0.8
- 沒有了關(guān)閉的功能,關(guān)閉需要在時鐘上按任意鍵
- 支持跟隨鼠標移動
- 支持二進制文件直接運行
以上就是shigen
基于以前的代碼再次做的優(yōu)化。那就直接上代碼吧:
# -*- encoding: utf-8 -*- __date__ = '2023/12/04 13:00:32' ? import tkinter as tk import time ? class ClockWindow(tk.Tk): def __init__(self): super().__init__() self.overrideredirect(1) # 去除窗口邊框 self.wm_attributes("-alpha", 0.8) # 設(shè)置透明度 self.wm_attributes("-topmost", True) # 始終處于頂層 ? self.title('個性化時鐘') self.geometry('300x100') self.configure(bg='black') ? self.time_label = tk.Label(self, text='', font=('Arial', 50), fg='white', bg='black') self.time_label.pack(expand=True) ? self.update_time() self.bind("<ButtonPress-1>", self.StartMove) #監(jiān)聽左鍵按下操作響應(yīng)函數(shù) self.bind("<ButtonRelease-1>", self.StopMove) #監(jiān)聽左鍵松開操作響應(yīng)函數(shù) self.bind("<B1-Motion>", self.OnMotion) #監(jiān)聽鼠標移動操作響應(yīng)函數(shù) self.bind("<Any-KeyPress>", self.myquit) #關(guān)閉 ? def update_time(self): current_time = time.strftime('%H:%M:%S') self.time_label.config(text=current_time) self.time_label.after(1000, self.update_time) def StartMove(self,event): global x, y x = event.x y = event.y def StopMove(self,event): global x, y x = None y = None def OnMotion(self,event): global x, y deltax = event.x - x deltay = event.y - y self.geometry("+%s+%s" % (self.winfo_x() + deltax, self.winfo_y() + deltay)) self.update() # print(event.x,event.y,self.winfo_x(),self.winfo_y(),self.winfo_width(),self.winfo_height()) def myquit(self, *args): self.destroy() ? ? if __name__ == "__main__": app = ClockWindow() app.mainloop()
我們一改之前的運行方式:
python xxx.py
這次我們引入了一個神器:pyinstaller
,我們需要先安裝一下它:
pip install pyinstaller
對于它的特性,官方的解釋是這樣的:
pyinstaller
能夠在 Windows
、Linux
、Mac
等操作系統(tǒng)下將 Python
源文件打包,通過對源文件打包, Python
程序可以在沒有安裝 Python
的環(huán)境中運行,也可以作為一個獨立文件方便傳遞和管理。
安裝完畢之后,執(zhí)行一下命令即可實現(xiàn)程序的打包:
pyinstaller -F xxx.py
最后,在文件的目錄下會多了一個dist
文件夾:
現(xiàn)在的運行方式就是直接去控制臺:
其實還是有一點不方便,我直接雙擊還不能打開。但是還是有進步的,擺脫了對于python環(huán)境和各種依賴包的依賴,直接在終端打開,接近開箱即用了。更好的方式還在研究中,歡迎伙伴們的分享和交流。
到此這篇關(guān)于基于python實現(xiàn)開箱即用的桌面時鐘的文章就介紹到這了,更多相關(guān)python時鐘內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 數(shù)據(jù)處理更容易的12個輔助函數(shù)總結(jié)
Python的產(chǎn)生似乎就是專門用來處理數(shù)據(jù)的,順理成章的成為大數(shù)據(jù)的主流語言,本文介紹十二個函數(shù)輔助你更容易更便捷的用Python進行數(shù)據(jù)處理2021-11-11關(guān)于yolov5的一些簡單說明(txt文件、訓練結(jié)果分析等)
使用YOLOV5訓練數(shù)據(jù)之后我們需要一些評判標準來告訴我們所訓練的效果究竟如何,下面這篇文章主要給大家介紹了關(guān)于yolov5的一些簡單說明,主要是txt文件、訓練結(jié)果分析等的相關(guān)資料,需要的朋友可以參考下2022-06-06Python調(diào)用OpenCV實現(xiàn)圖像平滑代碼實例
這篇文章主要介紹了Python調(diào)用OpenCV實現(xiàn)圖像平滑代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06基于Python實現(xiàn)Excel轉(zhuǎn)Markdown表格
Markdown(也簡稱md)作為一種輕量級標記語言,因其易寫易讀,效果美觀大方,不僅被眾多網(wǎng)站使用,也是程序員們做筆記、寫文檔的首選。本文將利用Python實現(xiàn)Excel轉(zhuǎn)Markdown表格,感興趣的可以了解一下2022-04-04使用Python操作Excel中的各項頁面設(shè)置功能
在使用Excel進行數(shù)據(jù)分析或報告制作時,頁面設(shè)置是確保最終輸出效果專業(yè)、美觀的關(guān)鍵步驟,合理的頁面設(shè)置不僅能夠優(yōu)化打印效果,還能提升數(shù)據(jù)的可讀性,本文將詳細介紹如何使用Python操作Excel中的各項頁面設(shè)置功能,需要的朋友可以參考下2024-08-08Python內(nèi)置數(shù)據(jù)類型list各方法的性能測試過程解析
這篇文章主要介紹了Python內(nèi)置數(shù)據(jù)類型list各方法的性能測試過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-01-01