一、前言
我们已经了解到tkinter可以制作爱心,弹幕,为了能让他看起来更加的充满心意,于是,我们决定将他制作为爱心雨。让它看起来更加的特别,达到特别的需求。
(一)Python-tkinter桌面应用开发(多弹窗)
(二)Python-tkinter桌面应用(桌面上的弹幕)
二、需求
我们要让我们的爱心移动起来,达到下雨的需求。
三、思路
已经有需求了,我们来整理一下思路:
- 实现窗口,窗口爱心
- 让窗口一直移动起来
- 控制弹幕出现的位置
- 控制弹幕的数量
四、代码实现
这次,我们直接来实现爱心雨,让大家感受一下爱心雨的魅力。
1、从上往下
def move_down(self):
"""
控制移动方向,向下移动
:return:
"""
self.x = str(int(self.x) + 5)
self.tk.geometry(str(self.ww) + "x" + str(self.hh) + "+" + str(self.y) + "+" + str(self.x))
if int(self.x) >= self.h:
self.x = -self.hh
self.tk.after(10, self.move_down)
else:
self.tk.after(10, self.move_down)
2、从下往上
def move_up(self):
"""
控制移动方向,向上移动
:return:
"""
self.x = str(int(self.x) - 5)
self.tk.geometry(str(self.ww) + "x" + str(self.hh) + "+" + + str(self.y) + "+" + str(self.x))
if int(self.x) <= -self.hh:
self.x = self.h
self.tk.after(10, self.move_up)
else:
self.tk.after(10, self.move_up)
3、斜向左下角
def move_left_down(self):
"""
控制移动方向,向左下方移动,如果超过屏幕则开始循环移动
:return:
"""
self.y = str(int(self.y) - 5)
self.x = str(int(self.x) + 5)
self.tk.geometry(str(self.ww) + "x" + str(self.hh) + "+" + str(self.y) + "+" + str(self.x))
if int(self.y) <= -self.ww:
self.y = str(random.randint(0, self.w + self.ww))
self.x = -self.hh
self.tk.after(10, self.move_left_down)
else:
self.tk.after(10, self.move_left_down)
4、斜向右下角
def move_right_down(self):
"""
控制移动方向,向右下方移动,如果超过屏幕则开始循环移动
:return:
"""
self.y = str(int(self.y) + 5)
self.x = str(int(self.x) + 5)
self.tk.geometry(str(self.ww) + "x" + str(self.hh) + "+" + str(self.y) + "+" + str(self.x))
if int(self.y) >= self.w + self.ww or int(self.x) >= self.h + self.hh:
self.y = str(random.randint(-self.ww, self.w))
self.x = -self.hh
self.tk.after(10, self.move_right_down)
else:
self.tk.after(10, self.move_right_down)
文章内容
本文主要是关于讲述了tkinter, after的用法,延伸的移动窗口的方式。操作简单,
涉及的函数图像有 f(x)=a,a为常数
以及f(x)=kx+b ,k,b为常数。文章来源:https://www.toymoban.com/news/detail-419216.html
公众号回复 “爱心弹窗” 获取源代码文章来源地址https://www.toymoban.com/news/detail-419216.html
到了这里,关于(三)Python-tkinter桌面应用(爱心雨)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!