數入框 Entry
數入框 Entry
Example Code 本範例爲一個計算機程式,當按下按鈕後. 計算輸入框的內容並顯示在視窗內
- import Tkinter as tk
- from math import *
- def evaluate(event):
- res.configure(text = "result: " + str(eval(E1.get())))
- win = tk.Tk()
- win.title("Calculator")
- win.geometry('600x400')
- L1 = tk.Label(win, text="input your expression", font=("Helvetica", 24), height = 1, width = 10)
- L1.grid(column=0,row=1,ipadx=100)
- E1 = tk.Entry(win, bd =5)
- E1.bind("<Return>", evaluate)
- E1.grid(column=0,row=2,ipadx=20,ipady=10)
- res = tk.Label(win, text="expression result", font=("Helvetica", 24), height = 1, width = 10)
- res.grid(column=0,row=3,ipadx=200,ipady=10)
- win.mainloop()
Note and Comments
- from math import * 匯入數學函式庫
- def evaluate(event): 定義一個名為evaluate()的函數, 函數內容由":"之後開始定義, 定義的範圍由tab縮排定義
- res.configure(text = "result: " + str(eval(E1.get()))) 將res標間物件的文字重製
- E1.get() 取得E1文字方塊的儲存值
- eval(E1.get()) 將E1文字方塊的儲存值進行數值計算
- str(eval(E1.get())) 將計算結果轉成字串
- E1 = tk.Entry(win, bd =5) 宣告一個文字方塊物件
- E1.bind("<Return>", evaluate) 將此文字方塊物件與一同綁定,也就是說當按下enter鍵後,程式會自動執行evaluate()子程式
- ipadx=20,ipady=10) 設定grid的大小
result