微軟vscord

微軟VS Code截圖

程式碼

from tkinter import * #從函式庫 tkinter 輸入所有 * 方法
# math只用三個沒必要輸入所有*, math.pi比 pi 更清楚
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 = 200 #宣告圓中心座標cx, cy半徑cr
cy = 210
cr = 140
x, y =[],[] #宣告二陣列[...]
k = s.get() #取得 ge t按鈕選單的選擇變數
u = 2 * math.pi / k #使用模組 math 圓周率 pi
for i in range(k):
x.append(cx + cr*math.cos(i*u)) #加入陣列的元素
y.append(cy + cr*math.sin(i*u)) #使用模組 math 三角函數cos, sin
for i in range(k-1):
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 = 500, 210, 150 #宣告圓中心座標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 I_am_a_monkey():
canvas.delete('all')
s = IntVar(tk)
label1 = Label(tk,text="黃柏諺製作視窗",bg='black',fg='white').pack(side=LEFT) #建構者OptionMenu, Button
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 = I_am_a_monkey).pack(side=LEFT)#按鈕
label2 = Label(tk,text="我成功了!",bg='purple',fg='white').pack(side=LEFT) #建構者OptionMenu, Button
tk.mainloop() #套裝軟體的重新整理無限次

影片

留言

這個網誌中的熱門文章

黃柏諺python時間函式time.sleep

黃柏諺pythoy陣列array

黃柏諺python字串方法