如何使用 Python 中的 Tkinter 在計算器中顯示數字?


Tkinter,源自“Tk 介面”,是 Python 自帶的預設 GUI 庫。它提供了各種各樣的部件,包括按鈕、標籤、輸入欄位等等,使其成為 GUI 開發的多功能選擇。Tkinter 的跨平臺特性確保了用它構建的應用程式可以在各種作業系統上執行,無需修改。

在構建計算器的背景下,Tkinter 提供了建立具有按鈕和顯示區域的使用者介面的基本構建塊。在本文中,我們將利用 Tkinter 的強大功能來設計一個計算器,它不僅可以執行計算,而且還可以透過一個直觀且使用者友好的介面來執行計算。

設計計算器介面

在深入程式碼部分之前,務必概述計算器介面的設計。我們的目標是建立一個基本的計算器,帶有顯示屏和用於數字(0-9)和常用算術運算(+、-、* 和 /)的按鈕。此外,我們將包括一個小數點和一個等號 (=) 按鈕來執行計算。

以下是計算器介面的簡要概述 -

  • 顯示屏 - 計算器頂部的突出顯示區域,使用者可以在其中檢視他們輸入的數字以及計算結果。

  • 數字按鈕 - 用於數字 0 到 9 的按鈕,允許使用者輸入數字。

  • 算術運算按鈕 - 用於加法 (+) 、減法 (-) 、乘法 (*) 和除法 (/) 的按鈕,使使用者能夠執行基本計算。

  • 小數點按鈕 - 用於在數字中輸入小數點的按鈕。

  • 等號 (=) 按鈕 - 用於觸發計算並顯示結果的按鈕。

牢記設計,讓我們繼續使用 Python 和 Tkinter 進行實現。

使用 Tkinter 在 Python 中實現計算器

要建立我們的簡單計算器,我們將使用 Python 和 Tkinter 遵循循序漸進的過程。以下是構建計算器的關鍵步驟和相應的 Python 程式碼。

步驟 1:匯入所需的模組

# import the tkinter module for GUI
import tkinter as tk

步驟 2:建立主視窗

# Create a Tkinter window
root = tk.Tk()
root.geometry("720x250")
# Set the window title
root.title("Displaying Numbers in Calculator")

步驟 3:設計顯示屏

# Create a variable to store the display text
display = tk.StringVar()
display.set("0")

# Create the calculator display screen
display_label = tk.Label(root, textvariable=display, font=("Arial", 24), anchor="e", background="white")
display_label.grid(row=0, column=0, columnspan=4)

步驟 4:建立數字和運算按鈕

# Create buttons for digits and operations
buttons = [
   "7", "8", "9", "/",
   "4", "5", "6", "*",
   "1", "2", "3", "-",
   "0", ".", "=", "+"
]

row_val = 1
col_val = 0

for button in buttons:
   tk.Button(root, text=button, padx=20, pady=20, font=("Arial", 18), command=lambda b=button: update_display(b) if b != "=" else calculate()).grid(row=row_val, column=col_val)
   col_val += 1
   if col_val > 3:
      col_val = 0
      row_val += 1

步驟 5:實現更新顯示和計算的功能

# Function to update the calculator display
def update_display(value):
   current_text = display.get()
   if current_text == "0" or current_text == "Error":
      display.set(value)
   else:
      display.set(current_text + value)

# Function to perform calculations
def calculate():
   try:
      result = eval(display.get())
      display.set(result)
   except:
      display.set("Error")

步驟 6:啟動 Tkinter 主迴圈

# Start the Tkinter main loop
root.mainloop()

讓我們探索此簡單計算器應用程式的完整實現程式碼和輸出。

示例

# import the tkinter module for GUI
import tkinter as tk
# Create a Tkinter window
root = tk.Tk()
root.geometry("720x400")
# Set the window title
root.title("Displaying Numbers in Calculator")
# Create a variable to store the display text
display = tk.StringVar()
display.set("0")

# Create the calculator display screen
display_label = tk.Label(root, textvariable=display, font=("Arial", 24), anchor="e", background="white")
display_label.grid(row=0, column=0, columnspan=4)
# Create buttons for digits and operations
buttons = [
   "7", "8", "9", "/",
   "4", "5", "6", "*",
   "1", "2", "3", "-",
   "0", ".", "=", "+"
]

row_val = 1
col_val = 0

for button in buttons:
   tk.Button(root, text=button, padx=20, pady=20, font=("Arial", 18), command=lambda b=button: update_display(b) if b != "=" else calculate()).grid(row=row_val, column=col_val)
   col_val += 1
   if col_val > 3:
      col_val = 0
      row_val += 1
# Function to update the calculator display
def update_display(value):
   current_text = display.get()
   if current_text == "0" or current_text == "Error":
      display.set(value)
   else:
      display.set(current_text + value)

# Function to perform calculations
def calculate():
   try:
      result = eval(display.get())
      display.set(result)
   except:
      display.set("Error")
# Start the Tkinter main loop
root.mainloop()

輸出

結論

在本文中,我們探討了使用 Python 和 Tkinter 建立簡單計算器的過程,重點不僅在於功能,還在於建立增強使用者體驗的介面。

雖然此示例代表了一個基本的計算器,但所展示的原理和技術可以擴充套件到建立具有更多功能的更復雜的計算器。Tkinter 的簡單性和靈活性使其成為開發圖形使用者介面的寶貴選擇,而 Python 的易用性確保您可以快速將您的 GUI 應用程式想法變為現實。

更新於: 2023-12-05

801 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告