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

python tkinter實(shí)現(xiàn)屏保程序

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

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

該腳本摘錄自:2014年辛星tkinter教程第二版

#!/usr/bin/env python
 
from Tkinter import *
from random import randint
 
class RandomBall(object):
  def __init__(self, canvas, screenwidth, screenheight):
    self.canvas = canvas
    self.xpos = randint(10, int(screenwidth))
    self.ypos = randint(10, int(screenheight))
    self.xspeed = randint(6, 12)
    self.yspeed = randint(6, 12)
    self.screenwidth = screenwidth
    self.screenheight = screenheight
    self.radius = randint(40, 70)
    color = lambda : randint(0, 255)
    self.color = '#%02x%02x%02x' % (color(), color(), color())
 
  def create_ball(self):
    x1 = self.xpos - self.radius
    y1 = self.ypos - self.radius
    x2 = self.xpos + self.radius
    y2 = self.ypos + self.radius
    self.itm = self.canvas.create_oval(x1, y1, x2, y2, fill=self.color,
            outline=self.color)
 
  def move_ball(self):
    self.xpos += self.xspeed
    self.ypos += self.yspeed
    if self.ypos >= self.screenheight - self.radius:
      self.yspeed = -self.yspeed
    if self.ypos <= self.radius:
      self.yspeed = abs(self.yspeed)
    if self.xpos >= self.screenwidth - self.radius or self.xpos <= self.radius:
      self.xspeed = -self.xspeed
    self.canvas.move(self.itm, self.xspeed, self.yspeed)
 
class ScreenSaver:
  def __init__(self, num_balls):
    self.balls = []
    self.root = Tk()
    w, h = self.root.winfo_screenwidth(), self.root.winfo_screenheight()
    self.root.overrideredirect(1)
    self.root.attributes('-alpha', 0.3)
    self.root.bind('<Key>', self.myquit)
    self.root.bind('<Motion>', self.myquit)
    self.canvas = Canvas(self.root, width=w, height=h)
    self.canvas.pack()
    for i in range(num_balls):
      ball = RandomBall(self.canvas, screenwidth=w, screenheight=h)
      ball.create_ball()
      self.balls.append(ball)
    self.run_screen_saver()
    self.root.mainloop()
 
  def run_screen_saver(self):
    for ball in self.balls:
      ball.move_ball()
    self.canvas.after(50, self.run_screen_saver)
 
  def myquit(self, event):
    self.root.destroy()
 
if __name__ == "__main__":
  ScreenSaver(18)

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

相關(guān)文章

  • Python 之pandas庫(kù)的安裝及庫(kù)安裝方法小結(jié)

    Python 之pandas庫(kù)的安裝及庫(kù)安裝方法小結(jié)

    Pandas 是一種開源的、易于使用的數(shù)據(jù)結(jié)構(gòu)和Python編程語(yǔ)言的數(shù)據(jù)分析工具,它與 Scikit-learn 兩個(gè)模塊幾乎提供了數(shù)據(jù)科學(xué)家所需的全部工具,今天通過本文給大家介紹Python 之pandas庫(kù)的安裝及庫(kù)安裝方法小結(jié),感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • 詳解Python小數(shù)據(jù)池和代碼塊緩存機(jī)制

    詳解Python小數(shù)據(jù)池和代碼塊緩存機(jī)制

    這篇文章主要介紹了詳解Python 小數(shù)據(jù)池和代碼塊緩存機(jī)制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • jupyter實(shí)現(xiàn)重新加載模塊

    jupyter實(shí)現(xiàn)重新加載模塊

    這篇文章主要介紹了jupyter實(shí)現(xiàn)重新加載模塊,具有很好的價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Django密碼系統(tǒng)實(shí)現(xiàn)過程詳解

    Django密碼系統(tǒng)實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了Django密碼系統(tǒng)實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python調(diào)用win32接口進(jìn)行截圖的示例

    python調(diào)用win32接口進(jìn)行截圖的示例

    這篇文章主要介紹了python調(diào)用win32接口進(jìn)行截圖的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • python sqlite的Row對(duì)象操作示例

    python sqlite的Row對(duì)象操作示例

    這篇文章主要介紹了python sqlite的Row對(duì)象操作,結(jié)合實(shí)例形式分析了Python使用sqlite的Row對(duì)象進(jìn)行數(shù)據(jù)的查詢操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-09-09
  • Python強(qiáng)大的自省機(jī)制詳解

    Python強(qiáng)大的自省機(jī)制詳解

    這篇文章主要為大家介紹了Python強(qiáng)大的自省機(jī)制,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • python之基數(shù)排序的實(shí)現(xiàn)

    python之基數(shù)排序的實(shí)現(xiàn)

    這篇文章主要介紹了python之基數(shù)排序的實(shí)現(xiàn),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 使用Python和GDAL給圖片加坐標(biāo)系的實(shí)現(xiàn)思路(坐標(biāo)投影轉(zhuǎn)換)

    使用Python和GDAL給圖片加坐標(biāo)系的實(shí)現(xiàn)思路(坐標(biāo)投影轉(zhuǎn)換)

    這篇文章主要介紹了使用Python和GDAL給圖片加坐標(biāo)系的實(shí)現(xiàn)思路(坐標(biāo)投影轉(zhuǎn)換),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Python使用cx_Oracle模塊操作Oracle數(shù)據(jù)庫(kù)詳解

    Python使用cx_Oracle模塊操作Oracle數(shù)據(jù)庫(kù)詳解

    這篇文章主要介紹了Python使用cx_Oracle模塊操作Oracle數(shù)據(jù)庫(kù),結(jié)合實(shí)例形式較為詳細(xì)的分析了cx_Oracle模塊的下載、安裝及針對(duì)Oracle數(shù)據(jù)庫(kù)的連接、執(zhí)行SQL語(yǔ)句、存儲(chǔ)過程等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05

最新評(píng)論