Python tkinter库之Canvas 以圆模拟画圆环

简介: Python tkinter库之Canvas 以圆模拟画圆环

tkinter.Canvas.create_xxx()没有直接定义画圆的函数,可以用等轴的椭圆或360度的弧形代替。本例中用画椭圆函数创建一个以圆心坐标x,y和半径r为自变量的画圆函数 Circle(x,y,r,color) ;用它模仿画圆环,叠加很多圆,它们的圆心都在另一圆周上,定圆和动圆的半径以及动圆的稀密程序随机变化:


import tkinter as tk
import pyautogui as ag
from random import *
from time import sleep as Delay
from math import sin
from math import cos
from math import pi
from numpy import arange as np
def Window_Open(W, H):
    X, Y = ag.size()
    winSize = str(W)+"x"+str(H)
    winPos = winSize + "+" + str((X - W) // 2)
    winPos += "+" + str((Y - H) // 2)
    win.geometry(winPos)
    win.resizable(False, False)
    title = u'桌面分辨率:' + str(X) + "x" + str(Y)
    title += ' ' * 5 + u'窗体大小:' + winSize
    win.title(title)
    win.update()
def Circle(x,y,r,c='black'):
    coord=x-r,y-r,x+r,y+r
    tCanvas.create_oval(coord,outline=c)
rand = lambda a,b:(random()*(a+1))+b
if __name__ == '__main__':
    win = tk.Tk()
    Window_Open(480,480)
    tCanvas = tk.Canvas(win, width=win.winfo_width(), height=480, bg='white')
    tCanvas.pack(side="top")
    c_txt=tCanvas.create_text((225, 240),text='',anchor=tk.W, font=("宋体",20))
    Color = ['red','blue','green','magenta','navy','lawngreen','orange']
    I=20
    for i in range(1,I+1):
        R=rand(60,80)
        r=rand(30,50)
        step = rand(1,15)*pi/1080
        for t in np(-pi,pi,step):
            x = 240+R*cos(t)
            y = 220+R*sin(t)
            c = choice(Color)
            Circle(x,y,r,c)
        tCanvas.update()
        Delay(0.5)
        if i!=I:tCanvas.delete("all")
    tCanvas.create_text((225, 450),text='End!',anchor=tk.W, font=("宋体",20))
    win.mainloop()



效果图:

20210401223837471.gif

目录
相关文章
|
27天前
|
XML JSON 数据库
Python的标准库
Python的标准库
167 77
|
28天前
|
XML JSON 数据库
Python的标准库
Python的标准库
48 11
|
2月前
|
人工智能 API 开发工具
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
吴恩达发布的开源Python库aisuite,提供了一个统一的接口来调用多个大型语言模型(LLM)服务。支持包括OpenAI、Anthropic、Azure等在内的11个模型平台,简化了多模型管理和测试的工作,促进了人工智能技术的应用和发展。
140 1
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
|
28天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
66 8
|
1月前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
36 4
|
3月前
|
Python
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
183 3
|
7月前
|
开发工具 git Python
安装和使用`libnum`是一个用于数字理论函数的Python库
【6月更文挑战第19天】`libnum`是Python的数字理论函数库。安装可通过`git clone`,进入目录后运行`python setup.py install`,也可用`pip install libnum`。示例:使用`int_to_hex`将十进制数42转换为十六进制字符串'2a'。注意,信息可能已过时,应查最新文档以确保准确性。如遇问题,参考GitHub仓库或寻求社区帮助。
141 1
|
6月前
|
Python
确保你已经安装了`python-barcode`库。如果没有,可以通过pip来安装:
确保你已经安装了`python-barcode`库。如果没有,可以通过pip来安装:
|
Python
Anaconda虚拟环境安装Python库与Spyder
本文介绍在Anaconda中,为Python的虚拟环境安装第三方库与Spyder等配套软件的方法~
466 1
Anaconda虚拟环境安装Python库与Spyder
|
Linux Python
不可出外网的主机如何快速、方便、优雅的安装Python库?
不可出外网的主机如何快速、方便、优雅的安装Python库?
512 0
不可出外网的主机如何快速、方便、优雅的安装Python库?