#eg&sg:在同一程序中比较-计算圆的面积

以下是一个同时使用easyguipysimplegui实现的圆形面积计算程序,通过菜单让用户选择使用哪种GUI库:

import math
import easygui
import PySimpleGUI as sg

def easygui_calculator():
    """使用easygui实现的版本"""
    title = "圆形面积计算器 (easygui版)"
    while True:
        radius = easygui.enterbox("请输入圆的半径:", title)
        if radius is None:  # 用户点击取消
            return
        try:
            radius = float(radius)
            area = math.pi * radius ** 2
            easygui.msgbox(f"半径为 {radius} 的圆面积是:{area:.2f}", title)
        except ValueError:
            easygui.msgbox("请输入有效的数字!", "错误")

def pysimplegui_calculator():
    """使用PySimpleGUI实现的版本"""
    layout = [
        [sg.Text("请输入圆的半径:", font=("微软雅黑", 12))],
        [sg.Input(key="RADIUS", size=20, font=("微软雅黑", 12))],
        [sg.Button("计算", font=("微软雅黑", 12)), sg.Button("退出", font=("微软雅黑", 12))],
        [sg.Text("", key="RESULT", size=30, font=("微软雅黑", 12), text_color="blue")]
    ]
    
    window = sg.Window("圆形面积计算器 (PySimpleGUI版)", layout, finalize=True)
    
    while True:
        event, values = window.read()
        if event in (sg.WIN_CLOSED, "退出"):
            break
        if event == "计算":
            try:
                radius = float(values["RADIUS"])
                area = math.pi * radius ** 2
                window["RESULT"].update(f"结果:{area:.2f}", text_color="green")
            except ValueError:
                sg.popup_error("请输入有效的数字!", font=("微软雅黑", 12))
    window.close()

def main_menu():
    """主菜单选择界面"""
    choices = ["easygui版本", "PySimpleGUI版本", "退出"]
    title = "圆形面积计算器"
    choice = easygui.choicebox("请选择使用的GUI库:", title, choices)
    
    if choice == choices[0]:
        easygui_calculator()
    elif choice == choices[1]:
        pysimplegui_calculator()

if __name__ == "__main__":
    main_menu()

程序特点说明:

  1. 双库集成

    • 通过菜单选择使用easygui还是PySimpleGUI
    • 两个实现完全独立,方便对比不同库的编程风格
  2. easygui版本特点

    • 使用enterbox获取输入
    • 使用msgbox显示结果
    • 简单的异常处理
  3. PySimpleGUI版本特点

    • 创建带输入框和按钮的窗口
    • 实时结果显示
    • 更美观的界面布局
    • 弹出错误提示窗口
  4. 统一菜单

    • 使用easygui的choicebox创建主菜单
    • 清晰的选项布局

使用方法:

  1. 运行程序后首先看到主菜单
  2. 选择要使用的GUI库版本
  3. 在对应界面中输入半径数值
  4. 查看计算结果

安装依赖:

pip install easygui pysimplegui

这个程序完美实现了两个GUI库的集成,保持了代码的清晰结构,同时让用户可以直观地对比两种不同的GUI编程方式。

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