程式碼註解
Python 函數def 函數名稱:
def draw():
canvas繪圖套件
create_line(x起點,y起點,x終點,y終點)
def draw第二個delete
def draw():#按下按鈕button1執行draw canvas.create_line(0,500,700,500,width=3,fill='black',arrow='last') canvas.create_line(10,600,10,5,width=3,fill='black',arrow='last') for firm in firms: t=(firm, year.get()) x = 10+20*stdev[t]*2*3**0.5 #放大20 y = 500 - 10*mean[t]*12 #放大10 dot=canvas.create_oval(x-5,y-5,x+5,y+5,fill='blue') lab=canvas.create_text(x+10,y,text=firm[4:7],anchor=W,font=('微軟中黑體', 16)) def delete():#按下按鈕button2執行delete canvas.delete('all') years=[x for x in range(2007, 2025)] year=IntVar(tk) year.set(years[0]) label = Label(tk, text="年度",font=('Arial',30,'bold'),).pack(side=LEFT) #距離左側 option1 = OptionMenu(tk, year, *years).pack(side=LEFT) button1 = Button(tk, text="賴青德繪圖 ",font=('Arial',30,'bold'), command = draw, bg='black',fg='white').pack(side=LEFT) button2 = Button(tk, text="賴青德刪除 ",font=('Arial',30,'bold'), command = delete, bg='black',fg='white').pack(side=LEFT) tk.mainloop() #label button1 button2都改變字體
這是一個完整的 Tkinter 應用程式,其中包含您提供的程式碼,並將標籤和按鈕的字體設定為您指定的樣式。 我為 firms、stdev 和 mean 添加了一些範例資料,以便您可以執行程式碼並看到繪圖功能。 Tkinter 繪圖應用程式 6月27日 下午2:04 不要用「Canvas」,再試一次 說明: 導入必要的模組:tkinter 被導入為 tk,並且從中導入了 Label, OptionMenu, Button, W, LEFT, IntVar 等常用組件。 初始化 Tkinter 視窗:tk = tk.Tk() 創建了主視窗。 創建畫布:canvas = tk.Canvas(...) 創建了一個用於繪圖的區域。 範例資料:我添加了 firms, stdev, mean 的範例資料。在實際應用中,您需要用您的真實資料替換這些內容。請注意 stdev 和 mean 的鍵是 (firm_tuple, year) 的形式。 draw 函數: 繪製了 X 軸和 Y 軸。 遍歷 firms 列表,並根據選定的年份從 stdev 和 mean 字典中獲取數據。 計算點的 x 和 y 座標,並繪製藍色圓點。 在點旁邊繪製文本標籤。 添加了 if t in stdev and t in mean: 檢查,以避免在數據不存在時出現 KeyError。 delete 函數:清除畫布上的所有內容。 年份選擇:創建了一個 IntVar 來儲存選定的年份,並使用 OptionMenu 讓用戶選擇。 標籤和按鈕: Label(tk, text="年度", font=('Arial', 30, 'bold')).pack(side=LEFT):設定了「年度」標籤的字體為 Arial,大小 30,粗體。 Button(tk, text="賴青德繪圖 ", font=('Arial', 30, 'bold'), ...):設定了「賴青德繪圖」按鈕的字體。 Button(tk, text="賴青德刪除 ", font=('Arial', 30, 'bold'), ...):設定了「賴青德刪除」按鈕的字體。 option1.config(font=('Arial', 20)):為選項菜單本身設定了字體,使其下拉選項的字體也更大。 主事件循環:tk.mainloop() 啟動 Tkinter 的事件循環,使應用程式保持運行並響應用戶交互。 現在您可以複製此程式碼並執行它,它將顯示一個 Tkinter 視窗,其中包含帶有指定字體的標籤和按鈕。
期末考放影片。https://chen-yu-hsi.blogspot.com/2025/06/blog-post_26.html
回覆刪除