计算三角形面积-PySimpleGUI版

下面是一个使用PySimpleGUI编写的三角形面积计算器程序,包含输入底和高、显示面积、计算/清空/退出三个按钮的功能:
三角形面积-sg版

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

程序功能说明:

  1. 输入部分

    • 两个输入框分别用于输入三角形的底边和高
    • 输入时会进行数字验证,确保输入的是有效数字
  2. 计算逻辑

    • 使用公式 面积 = 0.5 * 底 * 高
    • 输入非数字时会弹出错误提示
    • 输入负数或0时会提示必须大于0
  3. 按钮功能

    • 计算:执行面积计算并显示结果
    • 清空:重置所有输入和输出字段
    • 退出:关闭应用程序
  4. 界面特点

    • 响应式布局,窗口大小适中
    • 错误提示使用弹窗形式
    • 结果显示使用蓝色字体
    • 按钮大小一致,排列整齐

使用方法:

  1. 在底边和高输入框中输入数值
  2. 点击"计算"按钮查看结果
  3. 点击"清空"重置所有字段
  4. 点击"退出"关闭程序

这个程序实现了用户要求的所有功能,并且加入了输入验证和错误处理,确保程序运行的稳定性和用户体验的友好性。

posted @ 2025-09-14 18:02  nxhujiee  阅读(10)  评论(0)    收藏  举报