趙婧伶Python視窗GUI自訂方法canvas.delete('all')

執行結果

程式碼

from tkinter import * #從函式庫 tkinter 輸入所有 * 方法
from math import *    #從函式庫 math 輸入所有 * 方法
t = (3,4,5,6,7,8,9,10,11,12,16,20)#宣告一元組tuple(...)
tk = Tk()
tk.title("趙婧伶視窗使用者介面GUI")
canvas = Canvas(tk, width=500, height=500)
canvas.pack()

def show(event):                        #定義由事件event(按鈕選單)呼叫的函數show
   cx, cy, cr = 200, 210, 100           #宣告圓中心座標cx, cy半徑cr
   x, y =[],[]                          #宣告二陣列[...]
   k = s.get()                          #取得 ge t按鈕選單的選擇變數
   u = 2 * pi / k                      #使用模組 math 圓周率 pi
   for i in range(k+1):
      x.append(cx + cr*cos(i*u))        #加入陣列的元素
      y.append(cy + cr*sin(i*u))        #使用模組 math 三角函數cos, sin
   for i in range(k):
      canvas.create_line(x[i], y[i], x[i+1], y[i+1], width="5", fill="#FFE5B4")
   canvas.create_line(x[k-1], y[k-1], x[0], y[0], width="5", fill="#FFE5B4")
def diagonal():
   cx, cy, cr = 400, 210, 100           #宣告圓中心座標cx, cy半徑cr
   x, y =[],[]                          #宣告二陣列[...]
   k = s.get()                          #取得 ge t按鈕選單的選擇變數
   u = 2 * pi / k                       #模組 math 圓周率 pi
   for i in range(k+1):
      x.append(cx + cr*cos(i*u)) #加入陣列的元素
      y.append(cy + cr*sin(i*u))
   for i in range(k):
      for j in range(i+2, k):
         canvas.create_line(x[i], y[i], x[j], y[j], width="4", fill="lavender")
def clear():canvas.delete("all")
         
s = IntVar(tk)
label = Label(tk, text="趙婧伶視窗設計", bg='Cornflower Blue', fg='white').pack(side=LEFT) 
combo = OptionMenu(tk, s, *t, command = show).pack(side=LEFT)        #下拉式選單menu
button = Button(tk, text="對角線", command = diagonal).pack(side=LEFT)#按鈕
button1 = Button(tk, text="刪除", command = clear).pack(side=LEFT)
labe2 = Label(tk, text="趙婧伶成功了", bg='Cadet Blue', fg='white', font=("Arial")).pack(side=LEFT)
tk.mainloop()

說明影片

留言

這個網誌中的熱門文章

趙婧伶風險管理制度與實務charCodeAt()

趙婧伶風險管理制度與實務18屆