今天分享的是python
GUI开发方面的,我们先来看看效果:
这次实现的功能有:
- 桌面时钟可以时钟保持在所有窗口的最上边,且窗体的透明度为0.8
- 没有了关闭的功能,关闭需要在时钟上按任意键
- 支持跟随鼠标移动
- 支持二进制文件直接运行
那就直接上代码吧:
# -*- 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) # 设置透明度
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) #监听左键按下操作响应函数
self.bind("<ButtonRelease-1>", self.StopMove) #监听左键松开操作响应函数
self.bind("<B1-Motion>", self.OnMotion) #监听鼠标移动操作响应函数
self.bind("<Any-KeyPress>", self.myquit) #关闭
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
等操作系统下将Python
源文件打包,通过对源文件打包,Python
程序可以在没有安装Python
的环境中运行,也可以作为一个独立文件方便传递和管理。
安装完毕之后,执行一下命令即可实现程序的打包:
pyinstaller -F xxx.py
最后,在文件的目录下会多了一个dist
文件夹:
现在的运行方式就是直接去控制台。
其实还是有一点不方便,我直接双击还不能打开。但是还是有进步的,摆脱了对于python环境和各种依赖包的依赖,直接在终端打开,接近开箱即用了。更好的方式还在研究中,欢迎伙伴们的分享和交流。
以上就是今天分享的全部内容了,觉得不错的话,记得点赞 关注
支持一下哈,您的鼓励和支持将是我坚持日更的动力。
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。