今天看到的,随手转一下

import random
import tkinterclass RandomBall():'''定义球的类'''def __init__(self, canvas, scrnwidth, scrnheight):#canvas:画布self.canvas = canvas#圆心坐标self.xpos = random.randint(10, int(scrnwidth)-20)self.ypos = random.randint(10, int(scrnheight)-20)#球的速度,分速度为2个轴self.xvelocity = random.randint(2, 5)self.yvelocity = random.randint(2, 5)#半径self.radius = random.randint(20, 120)#颜色RGBc = lambda: random.randint(0, 255)self.color = '#%02x%02x%02x'%(c(), c(), c())#屏幕长宽self.scrnwidth = scrnheightself.scrnheight = scrnheight#在画布上画球def create_ball(self):x1 = self.xpos - self.radiusy1 = self.ypos + self.radiusx2 = self.xpos + self.radiusy2 = self.ypos - self.radiusself.item = self.canvas.create_oval(x1, y1, x2, y2, fill=self.color, outline=self.color)#球的移动def move_ball(self):self.xpos += self.xvelocityself.ypos += self.yvelocity#球碰到屏幕边缘弹回if self.xpos + self.radius >= self.scrnwidth\or self.xpos + self.radius <= 20:self.xvelocity = -self.xvelocityif self.ypos + self.radius >= self.scrnheight\or self.ypos + self.radius <= 20:self.yvelocity = -self.yvelocity#球的移动函数,就是移动复制self.canvas.move(self.item, self.xvelocity, self.yvelocity)class ScreenSanver():'''定义屏保'''def __init__(self):#把N个球放在队列中self.balls = []#球的数量self.num_balls = random.randint(6, 20)#生成框架self.root = tkinter.Tk()#取消边框self.root.overrideredirect(1)#制作透明窗口self.root.attributes('-alpha', 0.3)#任何鼠标移动都退出屏保self.root.bind('<Motion>', self.myquit)#任何键盘动作都可以退出屏保self.root.bind('<Key>', self.myquit)#得到屏幕大小规格w, h = self.root.winfo_screenwidth(), self.root.winfo_screenheight()#创建画布self.canvas = tkinter.Canvas(self.root, width=w, height=h)self.canvas.pack()#画布上画球for i in range(self.num_balls):ball = RandomBall(self.canvas, scrnwidth=w, scrnheight=h)ball.create_ball()self.balls.append(ball)self.run_screen_saver()self.root.mainloop()#球的运动函数def run_screen_saver(self):for ball in self.balls:ball.move_ball()self.canvas.after(20, self.run_screen_saver)#析构函数def myquit(self, e):self.root.destroy()if __name__ == "__main__":ScreenSanver()

https://blog.csdn.net/weilin_8612/article/details/84976787#commentBox

tkinter tkinter 制作屏保制作屏保相关推荐

  1. html文件做屏保win10,win10系统屏保制作成桌面壁纸的解决教程

    win10系统使用久了,好多网友反馈说关于对win10系统屏保制作成桌面壁纸设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统屏保制作成桌面壁纸进行设置,有什么好的办法去设置wi ...

  2. python tkinter库 密码实时显示_python tkinter库实现气泡屏保和锁屏

    本文实例为大家分享了python tkinter库实现气泡屏保和锁屏的具体代码,供大家参考,具体内容如下 显示效果如下: 代码: import random import tkinter import ...

  3. 三分屏课件制作_为什么华为OV都要推出瀑布屏手机?瀑布屏优势劣势大盘点

    2018年手机配色被友商们玩出了各种新花样,从无数渐变色到稀奇古怪蚀刻工艺,再到天空之镜一锤落音,可以说在配色方面已经被所有厂家"玩坏",以至于再也不能代表手机设计语言创新的分毫. ...

  4. python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...

    使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...

  5. java闪屏怎么制作,Java Swing创建自定义闪屏:在闪屏下画进度条(一)

    Java Swing创建自定义闪屏:在闪屏上画进度条(一) 由于本人十分热爱Java Swing,所以平时闲暇之余总是喜欢极尽所能去搜藏一些自认为比较"酷"的Swing代码来研究揣 ...

  6. html做手机锁屏,手机个性锁屏怎么做?教你如何制作DIY手机锁屏

    制作DIY手机个性锁屏的方法很简单,只需下载一款软件即可自定义各种类型的壁纸来当做大家的个性化锁屏,具体教程小编将在本文告诉大家,希望能够帮助到大家. 教你如何制作DIY手机锁屏 1.首先,大家在制作 ...

  7. 西门子精彩屏+精简屏+精智屏设置屏保功能的具体方法和步骤

    精彩屏+精简屏+精智屏设置屏保功能的具体方法和步骤 精彩Smart屏设置屏保: Smart屏支持屏保功能,但是不能自定义屏保,只能使用屏中自带的屏保,并且仅可置屏保等待时间.设置步骤如下: 1.从触摸 ...

  8. 数据可视化之设计经验分享:轻松三步教你学会制作数据可视化大屏思路

    当看到屏幕上一个个炫酷,具有科技感的数据大屏时,很多人都会好奇这是怎么做出来的.自己在制作大屏时明明按着需求做了,可是做出来后总是觉得画面不好看,不够炫,感觉很糟糕. 那要如何才能设计那样的数据可视化 ...

  9. 如何高效制作数据可视化大屏,大屏高效制作攻略分享,总有一款适合你

    做数据可视化大屏可不是一件简单的事情,里面有很多技巧,像布局,配色,图表和素材的选用和搭配等等,里面有很多学问.一时半会也做不出一个大屏,即使你会做也需要一定的时间和精力,在大量的需求下,只能熬夜完成 ...

  10. android+制作一个锁屏,手机个性锁屏怎么做?教你如何制作DIY手机锁屏图文教程...

    制作DIY手机个性锁屏的方法很简单,只需下载一款软件即可自定义各种类型的壁纸来当做大家的个性化锁屏,具体教程小编将在本文告诉大家,希望能够帮助到大家.下面就一起来看看本教程吧 教你如何制作DIY手机锁 ...

最新文章

  1. 【谷歌推网页爬虫新标准,开源robots.txt解析器】
  2. oracle 越南字符,ORACLE 12.2RAC之问题 ora.chad OFFLINE
  3. 服务器怎么修复插件,如何修复服务器状态代码:302由SQL发现我注入了Firefox插件...
  4. UA SIE545 优化理论基础1 凸分析1 线性流形与超平面
  5. Set集合设置变量自增长
  6. Tomcat 服务器server.xml,web.xml的关键参数配置
  7. #Tomcat# 本地正常但是部署到服务器后,mysql插入中文乱码问题解决!
  8. TensorFlow学习记录1-一些比较好的学习资源
  9. 风变编程python网址_Python越狠,人生越稳丨风变科技广告片拆解
  10. 最新数据:微博Q1季度数据分析报告来了!
  11. 在线提取抖音视频BGM源码
  12. 六轴传感器使用学习记录
  13. SecureCRT绿色版的下载和安装
  14. C语言文本输入中文乱码问题
  15. maven中的ArtifactId和groupId是什么
  16. Three.js入门教程
  17. 企企通:企业供应商风险管理,如何用采购管理软件赋能?
  18. 【转】国内超级计算机发展情况简介
  19. Python语言实现龙女仆康娜酱字符飞出
  20. 【神经网络】6.1 神经网络基础

热门文章

  1. “80后”国家杰青,任太原理工大学副校长!
  2. C语言-计算三角形的周长和面积
  3. Linux中的各种锁及其基本原理
  4. 时序数据预测-SARIMA篇
  5. 服务器正在紧急维护公告,第一大区部分服务器紧急维护公告
  6. Bzoj2251 [2010Beijing Wc]外星联络
  7. 【Unity VR开发】结合VRTK4.0:导航网格限制移动区域
  8. lyapunov优化
  9. P2P流量识别技术汇总(原理、优缺点介绍)
  10. 弹性地基梁板法计算原理_弹性地基梁结构5种计算模式的选择