第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

今天七夕節(jié),外面下著大雨,用Python的tkinter做一個(gè)下愛(ài)心雨的特效,發(fā)給妹子

標(biāo)簽:
Python

正文

今天七夕,还下着雨,刚好想做一个下着爱心雨的特效

回到顶部

准备图片素材

1、美图秀秀找一个爱心图,大小就50*50就可以,生成的是一个png格式文件

https://img1.sycdn.imooc.com//5b76d9d40001f23110320736.jpg

2、由于canvas.create_image只支持gif图片,所以在线转换一下,我这里用的是我拉网:http://pic.55.la/

回到顶部

创建画布,画布添加爱心图,图片下落,使用多线程(由于雨要一直下)

Python好难写,调试了半天,话不多说,看看小白初步实现的代码,关键地方加了注释

复制代码

# -*- coding:utf-8 -*-# __author__ :kusy# __content__:文件说明# __date__:2018/8/17 9:28from tkinter import *import randomimport threadingimport timeimport os# 初始雨滴纵坐标INIT_HEIGHT = 10# 雨滴创建def rainmake(canvas,imagefile):
    rainlist = []    for i in range(10):        # 根据图片,创建一排心
        rainlist.append(canvas.create_image(100 + 80 * i, INIT_HEIGHT, anchor=NE, image=imagefile))    return rainlist# 雨滴下落def raindown(tk,canvas,imagefile,sec):    #线程间等待    time.sleep(sec)
    rainlist = rainmake(canvas,imagefile)    # 每颗心的纵坐标值
    height = [INIT_HEIGHT] * 10    while True:        # 每次移动前稍等一会
        time.sleep(0.2)        # 10颗心一起移动
        for i in range(10):            # 如果这颗心到底了,则不继续移动,否则height重置就无效了
            if not height[i] == 0:                # 设置下落步调
                rnd = random.randint(5,50)
                canvas.move(rainlist[i],0,rnd)
                height[i] = height[i] + rnd
                tk.update()        for i,h in enumerate(height):            if h > 600:                # 当这颗心走到最下方,则删除                canvas.delete(rainlist[i])
                tk.update()                # 清空这颗心的height
                height[i] = 0                print(i,h,height)        # 10颗心全到底,则跳出循环
        # print(height,height == [0] * 10)
        if height == [0] * 10:            print('break:',threading.current_thread().name)            breakdef lookloop(tk,canvas,thread):
    aliveflg = False    while True:        # 5s检测一次
        time.sleep(5)        for th in thread:            if th.is_alive():
                aliveflg = True            else:
                aliveflg = False        if aliveflg == False:            break
    #Over
    canvas.create_text(200,300,text='不好意思,雨停了...',fill='red')
    canvas.pack()
    time.sleep(5)
    tk.destroy()def main():    # 创建窗口对象
    tk = Tk()
    tk.title('七夕之雨')

    canvas_style = {        'bg':'white',        'height':'700',        'width':'900',        'cursor':'circle'
    }    # 创建画布
    canvas = Canvas(tk,canvas_style)
    canvas.pack()    # 图片素材
    if not os.path.exists('7777777.gif'):        raise Exception('7777777.gif file does not exists.')
    imagefile = PhotoImage(file = "7777777.gif")

    thread = []    for i in range(10):
       thread.append(threading.Thread(target=raindown,args=(tk,canvas,imagefile,i)))    for t in thread:
        t.start()    # 新开一个线程监控运行中的10个线程
    threading.Thread(target=lookloop,args=(tk,canvas,thread)).start()    # 进入消息循环    tk.mainloop()if __name__ == '__main__':
    main()

复制代码

回到顶部

动态效果图如下 

 

回到顶部

最重要的一步:发给妹子

(当然要发给妹子,不然做这个干啥)可以打包成exe文件,和素材图片一起发给妹子。。。

PS:此处附上已打包好的文件:链接:https://pan.baidu.com/s/1WBnnkit_k1fojHHnnDeJvw 密码:v8ah

 

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1ntsxvl0xbssw



 原文出处:https://www.cnblogs.com/kusy/p/9494458.html 作者:未来sky
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消