最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python3.6 tkinter實(shí)現(xiàn)屏保小程序

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

本文實(shí)例為大家分享了python3.6 tkinter實(shí)現(xiàn)屏保小程序,供大家參考,具體內(nèi)容如下

該小程序是在閑著沒(méi)事的時(shí)候,隨便寫(xiě)的,就當(dāng)打發(fā)無(wú)聊了。

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

from random import randint
from tkinter import *

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

  def move_ball(self):
    #球按照指定距離移動(dòng),如果碰到障礙就向相反的方向運(yùn)動(dòng)
    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)
    #綁定事件,有任何動(dòng)作退出屏保
    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")#背景 顏色自己隨便調(diào)整,至于啥顏色就看自己的心情了
    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)#屏保上球的個(gè)數(shù)

if __name__=='__main__':
  main()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python操作Excel神器openpyxl看這一篇就夠了

    python操作Excel神器openpyxl看這一篇就夠了

    Python使用openpyxl讀寫(xiě)excel文件這是一個(gè)第三方庫(kù),可以處理xlsx格式的Excel文件,下面這篇文章主要給大家介紹了關(guān)于python操作Excel神器openpyxl的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • keras.layers.Layer中無(wú)法定義name的問(wèn)題及解決

    keras.layers.Layer中無(wú)法定義name的問(wèn)題及解決

    這篇文章主要介紹了keras.layers.Layer中無(wú)法定義name的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python正則表達(dá)式基本原理

    Python正則表達(dá)式基本原理

    正則表達(dá)式是一個(gè)特殊的符號(hào)系列,它可以幫助我們檢查某個(gè)字符串和某種模式匹配。在python中,re庫(kù)擁有全部的正則表達(dá)式的功能。想了解更多的小伙伴可以參考閱讀本文
    2023-04-04
  • PyQt+socket實(shí)現(xiàn)遠(yuǎn)程操作服務(wù)器的方法示例

    PyQt+socket實(shí)現(xiàn)遠(yuǎn)程操作服務(wù)器的方法示例

    這篇文章主要介紹了PyQt+socket實(shí)現(xiàn)遠(yuǎn)程操作服務(wù)器的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python進(jìn)階教程之文本文件的讀取和寫(xiě)入

    python進(jìn)階教程之文本文件的讀取和寫(xiě)入

    這篇文章主要介紹了python進(jìn)階教程之文本文件的讀取和寫(xiě)入,本文講解的是最基本的文件讀取和寫(xiě)入功能,需要的朋友可以參考下
    2014-08-08
  • python實(shí)現(xiàn)翻轉(zhuǎn)棋游戲(othello)

    python實(shí)現(xiàn)翻轉(zhuǎn)棋游戲(othello)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)翻轉(zhuǎn)棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Python中集合的內(nèi)置函數(shù)詳解

    Python中集合的內(nèi)置函數(shù)詳解

    這篇文章主要介紹了Python中集合的內(nèi)置函數(shù)詳解,集合在python里面是另外一種對(duì)象,它的特征是在大括號(hào)里面,并且各個(gè)元素是唯一的,今天我們來(lái)看一下其內(nèi)置了哪些函數(shù),需要的朋友可以參考下
    2023-08-08
  • Python?sklearn轉(zhuǎn)換器估計(jì)器和K-近鄰算法

    Python?sklearn轉(zhuǎn)換器估計(jì)器和K-近鄰算法

    這篇文章主要介紹了Python?sklearn轉(zhuǎn)換器估計(jì)器和K-近鄰算法,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • 利用Python中?Rembg庫(kù)實(shí)現(xiàn)去除圖片背景

    利用Python中?Rembg庫(kù)實(shí)現(xiàn)去除圖片背景

    這篇文章主要介紹了利用Python中?Rembg庫(kù)實(shí)現(xiàn)去除圖片背景,文章基于?Rembg庫(kù)得運(yùn)用展開(kāi)詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • Pygame用200行代碼實(shí)現(xiàn)俄羅斯方塊

    Pygame用200行代碼實(shí)現(xiàn)俄羅斯方塊

    俄羅斯方塊的邏輯很簡(jiǎn)單,就是幾個(gè)方塊組合在一起,然后下落,當(dāng)其碰到四周的墻壁后便無(wú)法移動(dòng),若某行被方塊所填滿,那么就刪除這一行,然后此行上面的所有方塊下降一行,本文給大家介紹了用Pygame實(shí)現(xiàn)俄羅斯方塊,文中代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12

最新評(píng)論

安塞县| 韶山市| 崇信县| 汤原县| 尉犁县| 绥滨县| 成武县| 陈巴尔虎旗| 乌兰县| 两当县| 惠水县| 和静县| 昌都县| 弋阳县| 渝中区| 三穗县| 墨江| 阿城市| 富锦市| 拉孜县| 邓州市| 涿鹿县| 五常市| 谷城县| 宜章县| 和静县| 遂昌县| 高淳县| 林周县| 新建县| 双城市| 偃师市| 托克逊县| 浮山县| 新疆| 安康市| 延庆县| 昭觉县| 彭阳县| 庆元县| 崇州市|