基于python实现开箱即用的桌面时钟

 更新时间:2023年12月06日 08:20:39   作者:shigen01  
这篇文章主要为大家详细介绍了如何基于python实现开箱一个即用的桌面时钟,文中的示例代码讲解详细,具有一定的借鉴价值,需要的小伙伴可以参考下

其实之前的文章我也有相关的内容:

那这次又来了,岂不是重复的造轮子?事实并不是这样的。这次在之前的基础上实现的功能有:

  • 桌面时钟可以时钟保持在所有窗口的最上边,且窗体的透明度为0.8
  • 没有了关闭的功能,关闭需要在时钟上按任意键
  • 支持跟随鼠标移动
  • 支持二进制文件直接运行

以上就是shigen基于以前的代码再次做的优化。那就直接上代码吧:

 # -*- 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 能够在 WindowsLinuxMac 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个独立文件方便传递和管理。

安装完毕之后,执行一下命令即可实现程序的打包:

 pyinstaller -F xxx.py

最后,在文件的目录下会多了一个dist文件夹:

现在的运行方式就是直接去控制台:

其实还是有一点不方便,我直接双击还不能打开。但是还是有进步的,摆脱了对于python环境和各种依赖包的依赖,直接在终端打开,接近开箱即用了。更好的方式还在研究中,欢迎伙伴们的分享和交流。

到此这篇关于基于python实现开箱即用的桌面时钟的文章就介绍到这了,更多相关python时钟内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何利用python生成MD5并去重

    如何利用python生成MD5并去重

    这篇文章主要给大家介绍了关于如何利用python生成MD5并去重的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python利用逻辑回归模型解决MNIST手写数字识别问题详解

    Python利用逻辑回归模型解决MNIST手写数字识别问题详解

    这篇文章主要介绍了Python利用逻辑回归模型解决MNIST手写数字识别问题,结合实例形式详细分析了Python MNIST手写识别问题原理及逻辑回归模型解决MNIST手写识别问题相关操作技巧,需要的朋友可以参考下
    2020-01-01
  • 20个解决日常编程问题的Python代码分享

    20个解决日常编程问题的Python代码分享

    在这篇文章中,主要和大家分享了20个Python代码片段,以帮助你应对日常编程挑战。文中的示例代码讲解详细,感兴趣的小伙伴可以跟上小编一起了解一下
    2023-01-01
  • Python的信号库Blinker用法详解

    Python的信号库Blinker用法详解

    在本篇文章里小编给大家整理了一篇关于Python的信号库Blinker用法详解内容,有兴趣的朋友们可以学习下。
    2020-12-12
  • python3 反射的四种基本方法解析

    python3 反射的四种基本方法解析

    这篇文章主要介绍了python3 反射的四种基本方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • TensorFlow实现创建分类器

    TensorFlow实现创建分类器

    这篇文章主要为大家详细介绍了TensorFlow实现创建分类器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 详解Python中with语句的用法

    详解Python中with语句的用法

    这篇文章主要介绍了Python中with语句的用法,with语句的使用是Python学习过程当中的基础知识,本文来自于IBM官方技术文档,需要的朋友可以参考下
    2015-04-04
  • python判断变量是否是None的三种写法总结

    python判断变量是否是None的三种写法总结

    代码中经常会有变量是否为None的判断,这篇文章给大家总结了三种判断变量是否是none的写法,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • 你所不知道的Python奇技淫巧13招【实用】

    你所不知道的Python奇技淫巧13招【实用】

    有时候你会看到很Cool的Python代码,你惊讶于它的简洁,你不由自主地赞叹:竟然还能这样写。其实,这些优雅的代码都要归功于Python的特性,只要你能掌握这些Pythonic的技巧,你一样可以写出像诗一样的Python代码。本文主要介绍Python应用的一些小技巧。一起来看下吧
    2016-12-12
  • 学会这29个常用函数,你就是Pandas专家

    学会这29个常用函数,你就是Pandas专家

    Pandas 无疑是 Python 处理表格数据最好的库之一,但是很多新手无从下手,这里总结出最常用的 29 个函数,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-11-11

最新评论