Python GUI 三角形面积计算器 - 使用 Tkinter
Python GUI 三角形面积计算器
使用 Python Tkinter 库创建图形用户界面 (GUI),设计一个简单的三角形面积计算器。用户输入三条边长,程序判断是否能构成三角形并计算其面积。
代码
import tkinter as tk
from tkinter import messagebox
from math import sqrt
def is_triangle(a, b, c):
if a <= 0 or b <= 0 or c <= 0:
return False
if a + b <= c or a + c <= b or b + c <= a:
return False
return True
def calculate_area(a, b, c):
p = (a + b + c) / 2
area = sqrt(p * (p-a) * (p-b) * (p-c))
return area
def calculate():
a = float(entry_a.get())
b = float(entry_b.get())
c = float(entry_c.get())
if not is_triangle(a, b, c):
messagebox.showerror('错误', '无法构成三角形')
return
area = calculate_area(a, b, c)
messagebox.showinfo('结果', '三角形的面积为:%.2f' % area)
root = tk.Tk()
root.title('面积计算器')
root.geometry('250x150')
label_a = tk.Label(root, text='边长a:')
label_a.grid(row=0, column=0, padx=10, pady=10)
entry_a = tk.Entry(root)
entry_a.grid(row=0, column=1, padx=10, pady=10)
label_b = tk.Label(root, text='边长b:')
label_b.grid(row=1, column=0, padx=10, pady=10)
entry_b = tk.Entry(root)
entry_b.grid(row=1, column=1, padx=10, pady=10)
label_c = tk.Label(root, text='边长c:')
label_c.grid(row=2, column=0, padx=10, pady=10)
entry_c = tk.Entry(root)
entry_c.grid(row=2, column=1, padx=10, pady=10)
button = tk.Button(root, text='计算面积', command=calculate)
button.grid(row=3, column=0, columnspan=2, padx=10, pady=10)
root.mainloop()
运行结果

代码解释
- 导入必要的库:
tkinter用于创建 GUI,messagebox用于显示消息框,math用于计算平方根。 - 定义
is_triangle()函数,用于判断三个边长是否能构成三角形。 - 定义
calculate_area()函数,用于计算三角形面积。 - 定义
calculate()函数,用于获取用户输入的三条边长,判断是否能构成三角形,并计算面积并显示结果。 - 创建主窗口
root,设置标题和大小。 - 使用
Label和Entry创建输入框,用于用户输入三条边长。 - 使用
Button创建按钮,点击后执行calculate()函数。 - 运行
root.mainloop()启动 GUI 循环,监听用户事件。
总结
本代码使用 Python Tkinter 库设计了一个简单的三角形面积计算器,用户可以通过输入三条边长来判断是否能构成三角形并计算其面积。代码简洁易懂,可供初学者学习和参考。
更多学习资料:
原文地址: https://www.cveoy.top/t/topic/nL91 著作权归作者所有。请勿转载和采集!