亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python3.6 tkinter實現屏保小程序

系統 1766 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條評論
主站蜘蛛池模板: 真实国产精品视频国产网 | 香蕉视频网站入口 | 亚洲综合插| 欧美精品亚洲精品 | 自拍偷拍三级 | 91精品久久 | 99视频这里有精品 | 国产在线自在拍91精品黑人 | 国产精品久久久视频 | 日韩美女一级毛片 | 天天综合久久 | 人喾交性专区免费看 | 手机在线精品视频 | 女bbwxxxx高清 | 奇米在线播放 | 色中色资源站 | 99精品这里只有精品高清视频 | 日本在线播放一区 | 中文字幕亚洲综合久久202 | 亚洲国产人成中文幕一级二级 | 五月婷婷免费视频 | www.九九热| 欧美成人一区二区三区不卡视频 | 成人小视频免费在线观看 | 99热这里只有精品在线播放 | 99久久精品国产交换 | 99热都是精品 | 视频大全在线观看免费 | 亚洲第一毛片 | 国产在线精品观看一区 | 久久婷婷网 | 一区二区三区四区视频在线 | 中文字幕在线观看一区二区 | 黄色wwwww| 四虎色| 高清不卡日本v在线二区 | 久久啊 | 国产国语对白一级毛片 | 99riav视频| 免费日韩在线视频 | 国产精品久久精品牛牛影视 |