Python tkinter库之Canvas直线画圆和莫尔条纹

简介: Python tkinter库之Canvas直线画圆和莫尔条纹

最简单的直线也能画出漂亮的图案来:

import tkinter as tk
import pyautogui as ag
from time import sleep
def Line01():
    for j in range(1, 9):
        tCanvas.delete("all")
        coord = 5, 5, 635, 360
        tCanvas.create_rectangle(coord)
        for i in range(5, 635, j):
            coord = 5, 5, i, 360
            tCanvas.create_line(coord)
            coord = 635, 360, i, 5
            tCanvas.create_line(coord)
        coord = 5, 360, 635, 400
        tCanvas.create_rectangle(coord)
        tCanvas.create_text((20, 380), text=u'莫尔条纹,直线动端的间隔 = '
                            + str(j), anchor=tk.W, font=("宋体", 9))
        tCanvas.update()
        sleep(1)
def Line02():
        tCanvas.delete("all")
        coord = 155, 5, 510, 360
        tCanvas.create_rectangle(coord)
        coord = 5, 360, 635, 400
        tCanvas.create_rectangle(coord)
        tCanvas.create_text((20, 380), text=u'直线逼近圆弧,相当于不停地给圆作切线',
                            anchor=tk.W, font=("宋体", 9))
        for j in range(5,0,-1):
            for i in range(0,510-155,j):
                coord = 155+i, 5, 510, 5+i
                tCanvas.create_line(coord)
            tCanvas.update()
            sleep(1)
        coord = 155, 5, 510, 360
        tCanvas.create_rectangle(coord,fill='white')        
        for i in range(0,510-155,5):
            coord = 155+i, 5, 510, 5+i
            tCanvas.create_line(coord)
            coord = 155, 360-i, 155+i, 5
            tCanvas.create_line(coord)
            coord = 155+i, 360, 510, 360-i
            tCanvas.create_line(coord)
            coord = 155, 5+i, 155+i, 360
            tCanvas.create_line(coord)
        tCanvas.update()
        sleep(1)
if __name__ == '__main__':
    win = tk.Tk()
    X, Y = ag.size()
    winSize = "640x480"
    winPos = winSize + "+" + str((X - 640) // 2)
    winPos += "+" + str((Y - 480) // 2)
    win.geometry(winPos)
    win.resizable(False, False)
    title = u'桌面分辨率:' + str(X) + "x" + str(Y)
    title += ' ' * 5 + u'窗体大小:' + winSize
    win.title(title)
    win.update()
    tCanvas = tk.Canvas(win, width=win.winfo_width(), height=400, bg='white')
    tCanvas.pack(side="top")
    tk.Label(win, text=u"画布作图,请点击上面的按钮").pack(side="bottom")
    tButton1 = tk.Button(win, text=u'莫尔条纹', command=Line01)
    tButton1.place(width=100, height=35, x=200, y=415)
    tButton2 = tk.Button(win, text=u'直线切图', command=Line02)
    tButton2.place(width=100, height=35, x=340, y=415)
    win.mainloop()

效果图:

20210331070015652.gif



目录
相关文章
|
2天前
|
SQL 前端开发 数据可视化
Rodeo支持多种Python库
Rodeo支持多种Python库
10 5
|
1天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
12 3
|
6天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
33 8
|
10天前
|
JSON API 开发者
Python网络编程新纪元:urllib与requests库,让你的HTTP请求无所不能
【9月更文挑战第9天】随着互联网的发展,网络编程成为现代软件开发的关键部分。Python凭借简洁、易读及强大的特性,在该领域展现出独特魅力。本文介绍了Python标准库中的`urllib`和第三方库`requests`在处理HTTP请求方面的优势。`urllib`虽API底层但功能全面,适用于深入控制HTTP请求;而`requests`则以简洁的API和人性化设计著称,使HTTP请求变得简单高效。两者互补共存,共同推动Python网络编程进入全新纪元,无论初学者还是资深开发者都能从中受益。
29 7
|
17天前
|
机器学习/深度学习 PyTorch 算法框架/工具
python这些库和框架哪个更好
【9月更文挑战第2天】python这些库和框架哪个更好
31 6
|
4天前
|
Python
Python编程中的异常处理:理解与实践
【9月更文挑战第14天】在编码的世界里,错误是不可避免的。它们就像路上的绊脚石,让我们的程序跌跌撞撞。但是,如果我们能够预见并优雅地处理这些错误,我们的程序就能像芭蕾舞者一样,即使在跌倒的边缘,也能轻盈地起舞。本文将带你深入了解Python中的异常处理机制,让你的代码在面对意外时,依然能保持优雅和从容。
138 73
|
4天前
|
人工智能 数据挖掘 数据处理
揭秘Python编程之美:从基础到进阶的代码实践之旅
【9月更文挑战第14天】本文将带领读者深入探索Python编程语言的魅力所在。通过简明扼要的示例,我们将揭示Python如何简化复杂问题,提升编程效率。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往高效编码世界的大门。让我们开始这段充满智慧和乐趣的Python编程之旅吧!
|
3天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从零基础到实战应用
【9月更文挑战第15天】本文将引导读者从零开始学习Python编程,通过简单易懂的语言和实例,帮助初学者掌握Python的基本语法和常用库,最终实现一个简单的实战项目。文章结构清晰,分为基础知识、进阶技巧和实战应用三个部分,逐步深入,让读者在学习过程中不断积累经验,提高编程能力。
|
4天前
|
机器学习/深度学习 数据采集 人工智能
探索Python的奥秘:从基础到进阶的编程之旅
在这篇文章中,我们将深入探讨Python编程的基础知识和进阶技巧。通过清晰的解释和实用的示例,无论您是编程新手还是有经验的开发者,都能从中获得有价值的见解。我们将覆盖从变量、数据类型到类和对象的各个方面,助您在编程世界里游刃有余。
21 10
|
2天前
|
存储 机器学习/深度学习 数据挖掘
深入浅出:Python编程入门与实践
【9月更文挑战第16天】本文以“深入浅出”的方式,引领读者步入Python编程的世界。从基础语法到实际应用,我们将一步步探索Python的魅力所在。无论你是编程新手,还是希望拓展技能的老手,这篇文章都将为你提供有价值的信息和指导。通过本文的学习,你将能够编写出简单而实用的Python程序,为进一步深入学习打下坚实的基础。让我们一起开始这段编程之旅吧!