劉任昌VSCode自訂方法canvas.delete('all')建構Button

微軟VS Code編輯環境與執行結果

程式碼

#原來240單元程式碼如下
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=800, height=500)  #建立視窗
canvas.pack()

def show(event):                        #定義由事件event(按鈕選單)呼叫的函數show
   cx, cy, cr = 110, 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])
   canvas.create_line(x[k-1], y[k-1], x[0], y[0], fill="blue", width=5)   #可考慮增加width寬度,fill顏色
   
def diagonal():
   cx, cy, cr = 410, 210, 100           #宣告圓中心座標cx, cy半徑cr
   x, y =[],[]                          #宣告二陣列[...]
   k = s.get()                          #取得 ge t按鈕選單的選擇變數
   u = 2 * pi / k                       #模組 math 圓周率 pi
   for i in range(k):
      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], fill="green", width=4)
def clear(): #新建立方法 清除所有圖
    canvas.delete('all')

s = IntVar(tk)
label = Label(tk, text="劉任昌設計Python圖形介面", bg='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)#按鈕
label1 = Label(tk, text="我成功了!", bg='black', fg='yellow').pack(side=LEFT)
tk.mainloop()

教學影片

留言

  1. https://cpc920508123.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  2. https://cindy-javascript.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  3. https://trequiem.blogspot.com/2023/04/vscodecanvas.html

    回覆刪除
  4. https://xdrcfvghyujiok8945656.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  5. https://d11150108.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  6. https://d11150114.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  7. https://jasperyang.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  8. https://changmasaxciksdj.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  9. 作者已經移除這則留言。

    回覆刪除
  10. https://d11150115.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  11. https://iuytjhg5261.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  12. https://chenyouzheng0329.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  13. https://jjjjjyyy.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  14. https://liiuzhewei.blogspot.com/2023/04/vscodecanvasallbutton.html

    回覆刪除
  15. https://wutimothy.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  16. https://html-css-javascript-yaoto.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  17. https://643gjeytfru4312.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  18. https://tgyhjikolujik2554.blogspot.com/2023/04/vscodecanvasdeleteallbutton.html

    回覆刪除
  19. https://www.blogger.com/blog/post/edit/preview/8530990375848508323/8890650227466691034

    回覆刪除
  20. #原來240單元程式碼如下
    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=800, height=500) #建立視窗
    canvas.pack()

    def show(event): #定義由事件event(按鈕選單)呼叫的函數show
    cx, cy, cr = 110, 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])
    canvas.create_line(x[k-1], y[k-1], x[0], y[0], fill="blue", width=5) #可考慮增加width寬度,fill顏色

    def diagonal():
    cx, cy, cr = 410, 210, 100 #宣告圓中心座標cx, cy半徑cr
    x, y =[],[] #宣告二陣列[...]
    k = s.get() #取得 ge t按鈕選單的選擇變數
    u = 2 * pi / k #模組 math 圓周率 pi
    for i in range(k):
    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], fill="green", width=4)
    def clear(): #新建立方法 清除所有圖
    canvas.delete('all')

    s = IntVar(tk)
    label = Label(tk, text="劉任昌設計Python圖形介面", bg='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)#按鈕
    label1 = Label(tk, text="我成功了!", bg='black', fg='yellow').pack(side=LEFT)
    tk.mainloop()

    回覆刪除
  21. https://fongcyf.blogspot.com/2023/05/vscodecanvasdeleteallbutton.html

    回覆刪除

張貼留言

這個網誌中的熱門文章

劉任昌對照Python與JavaScript指令

劉任昌Python集合set清單list元組tuple字典dictionary

劉任昌python, input, str, float