1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | import tkinter as tk from tkinter import ttk
# 設定視窗。 window = tk.Tk() # 設定視窗標題。 window.title('Electricity') # 設定視窗大小。 window.geometry('330x270')
# 載入Enter事件。 def Enter_key(event): button_event()
# Button按鈕事件。 def button_event(): # 取得Entry及Combobox,上的元件文字。 Input_1= Entry_1.get() Input_2= Entry_2.get() Selest_1 = Combobox_1.get() # 清除Text_元件內容。 Text_1.delete('1.0', 'end') #判斷是Minute還是Hour,計算方式不同。 if Selest_1 == 'Minute': Use_1=round(int(Input_1)/60*int(Input_2)) elif Selest_1 == 'Hour': Use_1 = round(int(Input_1)*int(Input_2)) #在Text元件中顯示計算結果。 Text_1.insert(tk.INSERT,'電器電能:' + Input_1+ 'W\n') Text_1.insert(tk.INSERT,'每日使用:' + Input_2 +' '+Selest_1+'\n') Text_1.insert(tk.INSERT,"使用一個月約"+str(Use_1 * 30 / 1000)+"度電")
# 設定Label標籤參數(bg背景顏色、font字型格式、width宽度15個字元、高度1個字元) Label_1 = tk.Label(window, bg='yellow', text='設備瓦數(W)', font=('Arial', 10), width=8, height=1, padx=10) # 設定排版方式在第一排靠左。 Label_1.grid(column=0, row=0, sticky='w')
# 設定Label標籤參數(bg背景顏色、font字型格式、width宽度15個字元、高度1個字元) Label_2 = tk.Label(window, bg='yellow', text='每日使用時間', font=('Arial', 10), width=8, height=1, padx=10) # 設定排版方式在第二行第一排靠左。 Label_2.grid(column=1, row=0, sticky='w')
# 設定Entry輸入方框參數(font字型格式、width宽度5個字元) Entry_1 = tk.Entry(window, font=('Arial', 10), width=5) # 設定排版方式在第二排。 Entry_1.grid(column=0, row=1)
# 設定Entry輸入方框參數(font字型格式、width宽度5個字元) Entry_2 = tk.Entry(window, font=('Arial', 10), width=5) # 設定排版方式在第二行第二排。 Entry_2.grid(column=1, row=1)
# 設定Combobox,內容為Hour跟Minute。 Combobox_1 = ttk.Combobox(window,values=['Hour','Minute'],width=5) #Combobox元件預設值,Minute。 Combobox_1.current(1) # 設定排版方式在第三行第二排。 Combobox_1.grid(column=2, row=1)
# 設定Text元件,為顯示結果使用。 Text_1 = tk.Text(window, font=('Arial', 10),width=25,height=10) #設定排版方式在第一排且離左邊距離5,離上排10。 Text_1.grid(column=0, row=3,columnspan=3,padx=5,pady=10)
# 設定Button按鈕及觸發事件button_event。 Button_1 = tk.Button(window, text='送出', command=button_event) # 設定排版方式在第三排。 Button_1.grid(column=3, row=1,padx=15)
# 建立Enter事件。 window.bind('<Return>', Enter_key) window.mainloop() |
沒有留言:
張貼留言