欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python3.6 tkinter實現屏保小程序

系統 1623 0

本文實例為大家分享了python3.6 tkinter實現屏保小程序,供大家參考,具體內容如下

該小程序是在閑著沒事的時候,隨便寫的,就當打發無聊了。

該程序是用python3.6寫的,調用了python中的tkinter的庫(*python2x與python3x的thinter有很多不同的地方,一定要特別注意!!!)

            
from random import randint
from tkinter import *

class Randball():
  def __init__(self,canvas,scrnwidth,scrnheight):
    #初始化畫布
    self.canvas = canvas
    #初始化球的圓心坐標
    self.x_pos = randint(50,int(scrnwidth))#X軸的坐標 randint 隨機產生一個范圍內的整數
    self.y_pos = randint(50,int(scrnheight))#Y軸的坐標
    #球的移動距離
    self.x_move = 10
    self.y_move = 10
    #整個屏幕的高和寬
    self.scrnwidth =scrnwidth
    self.scrnheight =scrnheight
    #初始化球的半徑
    self.randius = randint(10,80)
    #隨機產生球的顏色
    rc = lambda : randint(0,255)
    self.color = '#%02x%02x%02x'%(rc(),rc(),rc())
  def create_ball(self):
    #計算得到用于創建球的四個坐標
    x1 = self.x_pos - self.randius
    y1 = self.y_pos - self.randius
    x2 = self.x_pos + self.randius
    y2 = self.y_pos + self.randius
    #畫球
    self.item =self.canvas.create_oval(x1,y1,x2,y2,fill = self.color,outline = self.color)

  def move_ball(self):
    #球按照指定距離移動,如果碰到障礙就向相反的方向運動
    self.x_pos += self.x_move
    self.y_pos += self.y_move
    if self.x_pos >= self.scrnwidth - self.randius:
      self.x_move = -self.x_move
    elif self.y_pos >= self.scrnheight - self.randius:
      self.y_move = -self.y_move
    elif self.x_pos < self.randius:
      self.x_move = abs(self.x_move)
    elif self.y_pos < self.randius:
      self.y_move = abs(self.y_move)
    self.canvas.move(self.item,self.x_move,self.y_move)


class Screensaver():
  balls = []
  def __init__(self,ball_nums):
    self.win = Tk()
    self.width = self.win.winfo_screenwidth()
    self.height = self.win.winfo_screenheight()
    self.win.overrideredirect(True)
    self.win.attributes('-alpha',1)
    #綁定事件,有任何動作退出屏保
    self.win.bind('
            
              ',self.exit_screensaver)
    self.win.bind('
              
                ',self.exit_screensaver )
    self.canvas = Canvas(self.win,width = self.width,height = self.height,bg="#FFFFFF")#背景 顏色自己隨便調整,至于啥顏色就看自己的心情了
    self.canvas.pack()


    for i in range(0,ball_nums):
        ball = Randball(self.canvas,scrnwidth=self.width,scrnheight=self.height)
        ball.create_ball()
        self.balls.append(ball)
    self.run_screensaver()
    self.win.mainloop()
  def run_screensaver(self):
    for ball in self.balls:
      ball.move_ball()
    self.canvas.after(30,self.run_screensaver)
  def exit_screensaver(self,event):
    self.win.destroy()

def main():
  Screensaver(30)#屏保上球的個數

if __name__=='__main__':
  main()
              
            
          

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一区二区三区四区国产 | 小明永久成人一区二区 | 久一在线视频 | 九九热免费视频在线观看 | 欧美一区二区三区久久久 | 国产成人精品在线 | 精品国产影院 | 中文字幕a∨在线乱码免费看 | 欧美日韩专区 | 久久草视频 | 国产一卡2卡三卡4卡免费网站 | 欧美性videosex18 | 免费午夜电影 | 一区二区三区免费在线 | 亚洲一区在线免费 | 一区在线播放 | 好吊视频| 久久精品这里是免费国产 | 欧美18毛片| 日韩 欧美 自拍 | 欧美一级毛片在线播放 | 精品国产一区二区三区免费 | 不卡一区 | 亚洲欧美在线观看视频 | 亚洲一区免费 | 大喷水吹潮magnet | www伊人| 亚洲一区视频在线 | 天天射天天操天天干 | 亚洲国产成人精品女人久久久 | 精品国产18久久久久久二百 | 欧美日韩午夜 | 日韩在线看片 | 欧美高清在线精品一区 | 久久久久久久99精品免费观看 | √新版天堂资源在线资源 | 久草在线手机 | 鲁丝片一区二区三区毛片 | 成人免费观看视频 | 波多野结衣一区二区三区在线观看 | 91视视频在线观看入口直接观看 |