如何使用 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 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告