用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()

代码解释

  1. 导入库

    import tkinter as tk
    from tkinter import messagebox
    

    导入 tkinter 库用于创建图形界面,并导入 messagebox 用于显示消息框。

  2. 创建主窗口

    root = tk.Tk()
    root.title("三角形面积计算器")
    root.geometry("300x200")
    

    创建一个 Tk 类的实例作为主窗口,并设置窗口标题和大小。

  3. 标签和输入框

    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 方法布局这些控件。

  4. 计算按钮及其回调函数

    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 函数。

  5. 运行主循环

    root.mainloop()
    

    启动 tkinter 的主事件循环,使程序保持运行并响应用户操作。

这个程序提供了一个简单的图形界面,用户可以输入三角形的底和高,然后点击按钮计算并显示三角形的面积。

posted @ 2025-01-02 11:03  nxhujiee  阅读(29)  评论(0)    收藏  举报