用tkinter库写一个根据底和高计算任意三角形面积的图形程序
下面是一个使用 tkinter
库编写的图形程序,该程序可以根据用户输入的底和高计算任意三角形的面积。代码中包含了详细的注释,以便理解每个部分的作用。
import tkinter as tk
from tkinter import messagebox
# 创建主窗口
root = tk.Tk()
root.title("三角形面积计算器")
root.geometry("300x200")
# 标签和输入框变量
label_base = tk.Label(root, text="底:")
label_base.grid(row=0, column=0, padx=10, pady=10)
entry_base = tk.Entry(root)
entry_base.grid(row=0, column=1, padx=10, pady=10)
label_height = tk.Label(root, text="高:")
label_height.grid(row=1, column=0, padx=10, pady=10)
entry_height = tk.Entry(root)
entry_height.grid(row=1, column=1, padx=10, pady=10)
# 计算按钮及其回调函数
def calculate_area():
try:
# 获取用户输入的底和高,并转换为浮点数
base = float(entry_base.get())
height = float(entry_height.get())
# 计算面积
area = 0.5 * base * height
# 显示结果
messagebox.showinfo("结果", f"三角形的面积是: {area:.2f}")
except ValueError:
# 如果输入不是有效的数字,显示错误消息
messagebox.showerror("输入错误", "请输入有效的数字")
button_calculate = tk.Button(root, text="计算面积", command=calculate_area)
button_calculate.grid(row=2, column=0, columnspan=2, pady=20)
# 运行主循环
root.mainloop()
代码解释
-
导入库:
import tkinter as tk from tkinter import messagebox
导入
tkinter
库用于创建图形界面,并导入messagebox
用于显示消息框。 -
创建主窗口:
root = tk.Tk() root.title("三角形面积计算器") root.geometry("300x200")
创建一个
Tk
类的实例作为主窗口,并设置窗口标题和大小。 -
标签和输入框:
label_base = tk.Label(root, text="底:") label_base.grid(row=0, column=0, padx=10, pady=10) entry_base = tk.Entry(root) entry_base.grid(row=0, column=1, padx=10, pady=10) label_height = tk.Label(root, text="高:") label_height.grid(row=1, column=0, padx=10, pady=10) entry_height = tk.Entry(root) entry_height.grid(row=1, column=1, padx=10, pady=10)
创建标签和输入框用于用户输入三角形的底和高,并使用
grid
方法布局这些控件。 -
计算按钮及其回调函数:
def calculate_area(): try: base = float(entry_base.get()) height = float(entry_height.get()) area = 0.5 * base * height messagebox.showinfo("结果", f"三角形的面积是: {area:.2f}") except ValueError: messagebox.showerror("输入错误", "请输入有效的数字") button_calculate = tk.Button(root, text="计算面积", command=calculate_area) button_calculate.grid(row=2, column=0, columnspan=2, pady=20)
定义一个函数
calculate_area
,用于从输入框获取底和高,计算面积并显示结果。如果输入不是有效的数字,则显示错误消息。创建一个按钮,并将其command
属性设置为calculate_area
函数。 -
运行主循环:
root.mainloop()
启动
tkinter
的主事件循环,使程序保持运行并响应用户操作。
这个程序提供了一个简单的图形界面,用户可以输入三角形的底和高,然后点击按钮计算并显示三角形的面积。