计算三角形面积-PySimpleGUI版
下面是一个使用PySimpleGUI编写的三角形面积计算器程序,包含输入底和高、显示面积、计算/清空/退出三个按钮的功能:
import PySimpleGUI as sg
# 布局设计
layout = [
[sg.Text('三角形底边:', font=('Arial', 12)),
sg.Input(key='-BASE-', size=15, font=('Arial', 12))],
[sg.Text('三角形高:', font=('Arial', 12)),
sg.Input(key='-HEIGHT-', size=15, font=('Arial', 12))],
[sg.Text('三角形面积:', font=('Arial', 12)),
sg.Text('', key='-RESULT-', size=15, font=('Arial', 12), text_color='blue')],
[sg.Button('计算', key='-CALC-', size=10),
sg.Button('清空', key='-CLEAR-', size=10),
sg.Button('退出', key='-EXIT-', size=10)]
]
# 创建窗口
window = sg.Window('三角形面积计算器',
layout,
finalize=True,
element_justification='left',
margins=(20, 20))
# 事件循环
while True:
event, values = window.read()
# 退出程序
if event in (sg.WIN_CLOSED, '-EXIT-'):
break
# 清空输入
if event == '-CLEAR-':
window['-BASE-'].update('')
window['-HEIGHT-'].update('')
window['-RESULT-'].update('')
# 计算面积
if event == '-CALC-':
try:
# 获取输入值并转换为浮点数
base = float(values['-BASE-'])
height = float(values['-HEIGHT-'])
# 验证输入值
if base <= 0 or height <= 0:
sg.popup_error('底边和高必须大于0!')
continue
# 计算面积
area = 0.5 * base * height
window['-RESULT-'].update(f'{area:.2f}')
except ValueError:
sg.popup_error('请输入有效的数字!')
window.close()
程序功能说明:
-
输入部分:
- 两个输入框分别用于输入三角形的底边和高
- 输入时会进行数字验证,确保输入的是有效数字
-
计算逻辑:
- 使用公式
面积 = 0.5 * 底 * 高
- 输入非数字时会弹出错误提示
- 输入负数或0时会提示必须大于0
- 使用公式
-
按钮功能:
- 计算:执行面积计算并显示结果
- 清空:重置所有输入和输出字段
- 退出:关闭应用程序
-
界面特点:
- 响应式布局,窗口大小适中
- 错误提示使用弹窗形式
- 结果显示使用蓝色字体
- 按钮大小一致,排列整齐
使用方法:
- 在底边和高输入框中输入数值
- 点击"计算"按钮查看结果
- 点击"清空"重置所有字段
- 点击"退出"关闭程序
这个程序实现了用户要求的所有功能,并且加入了输入验证和错误处理,确保程序运行的稳定性和用户体验的友好性。