欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python3.6 tkinter實現屏保小程序

 更新時間:2019年07月30日 08:57:43   作者:Dark-L  
這篇文章主要為大家詳細介紹了python3.6 tkinter實現屏保小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

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

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):
    #計算得到用于創(chuàng)建球的四個坐標
    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('<Any-Button>',self.exit_screensaver)
    self.win.bind('<Motion>',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()

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

相關文章

  • Python代碼實現找到列表中的奇偶異常項

    Python代碼實現找到列表中的奇偶異常項

    這篇文章主要介紹了Python代碼實現找到列表中的奇偶異常項,文章內容主要利用Python代碼實現了從輸入列表中尋找奇偶異常項,需要的朋友可以參考一下
    2021-11-11
  • Python使用pptx實現復制頁面到其他PPT中

    Python使用pptx實現復制頁面到其他PPT中

    這篇文章主要為大家詳細介紹了python如何使用pptx庫實現從一個ppt復制頁面到另一個ppt里面,文中的示例代碼講解詳細,感興趣的可以嘗試一下
    2023-02-02
  • Python中文糾錯的簡單實現

    Python中文糾錯的簡單實現

    這篇文章主要是用 Python 實現了簡單的中文分詞的同音字糾錯,目前的案例中只允許錯一個字,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Python 3.8正式發(fā)布重要新功能一覽

    Python 3.8正式發(fā)布重要新功能一覽

    最新版本的Python發(fā)布了!今年夏天,Python 3.8發(fā)布beta版本,但在2019年10月14日,第一個正式版本已準備就緒?,F在,我們都可以開始使用新功能并從最新改進中受益
    2019-10-10
  • 在Python中如何傳遞任意數量的實參的示例代碼

    在Python中如何傳遞任意數量的實參的示例代碼

    這篇文章主要介紹了在Python中如何傳遞任意數量的實參的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 一文詳解Python中哈希表的使用

    一文詳解Python中哈希表的使用

    哈希表或稱為散列表,是一種常見的、使用頻率非常高的數據存儲方案。本文將站在開發(fā)者的角度,帶著大家一起探究哈希的世界,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-05-05
  • python?使用ctypes調用C/C++?dll詳情

    python?使用ctypes調用C/C++?dll詳情

    這篇文章主要介紹了python?使用ctypes調用C/C++?dll詳情,文章首先通過導入ctypes模塊,加載C/C++?dll到python進程空間展開主題相關內容,需要的小伙伴可以參考一下
    2022-04-04
  • Pandas之Fillna填充缺失數據的方法

    Pandas之Fillna填充缺失數據的方法

    這篇文章主要介紹了Pandas之Fillna填充缺失數據的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • pytest接口測試之fixture傳參數request的使用

    pytest接口測試之fixture傳參數request的使用

    本文主要介紹了pytest接口測試之fixture傳參數request的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • python中@contextmanager實例用法

    python中@contextmanager實例用法

    在本篇文章里小編給大家整理的是一篇關于python中@contextmanager實例用法,對此有興趣的朋友們可以學習下。
    2021-02-02

最新評論