本文主要是介绍Python tkinter库之Canvas直线画圆和莫尔条纹,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最简单的直线也能画出漂亮的图案来:
import tkinter as tk
import pyautogui as ag
from time import sleepdef Line01():for j in range(1, 9):tCanvas.delete("all")coord = 5, 5, 635, 360tCanvas.create_rectangle(coord)for i in range(5, 635, j):coord = 5, 5, i, 360tCanvas.create_line(coord)coord = 635, 360, i, 5tCanvas.create_line(coord)coord = 5, 360, 635, 400tCanvas.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, 360tCanvas.create_rectangle(coord)coord = 5, 360, 635, 400tCanvas.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+itCanvas.create_line(coord)tCanvas.update()sleep(1)coord = 155, 5, 510, 360tCanvas.create_rectangle(coord,fill='white') for i in range(0,510-155,5):coord = 155+i, 5, 510, 5+itCanvas.create_line(coord)coord = 155, 360-i, 155+i, 5tCanvas.create_line(coord)coord = 155+i, 360, 510, 360-itCanvas.create_line(coord)coord = 155, 5+i, 155+i, 360tCanvas.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'窗体大小:' + winSizewin.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()
效果图:
这篇关于Python tkinter库之Canvas直线画圆和莫尔条纹的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!