You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySimpleGUI类编写的燃油计算器GUI无法打开运行问题

代码无法启动GUI的核心问题
  • 类内定义的distance()、selection()布局生成方法从未被调用,初始化后的self.select、self.dist没有被赋值为实际的GUI组件布局
  • 没有将距离输入、车型选择两个模块的布局拼接为完整的窗口布局
  • 缺失PySimpleGUI运行必需的窗口实例创建、事件主循环逻辑,没有触发GUI渲染流程
  • __init__方法强制要求外部传入select、dist参数,但这两个值属于类内部生成的布局内容,不需要外部传入
可正常运行的修正代码
import PySimpleGUI as p

p.theme("DarkGrey10")

class FuelCalculator:
    def __init__(self):
        # 初始化布局存储变量
        self.dist_layout = []
        self.select_layout = []
        # 调用方法生成各模块布局
        self.distance()
        self.selection()
        # 拼接完整窗口布局,补充操作按钮
        self.full_layout = self.dist_layout + self.select_layout + [[p.Button("计算油耗"), p.Button("退出")]]
        # 创建窗口实例
        self.window = p.Window("油耗计算器", self.full_layout, finalize=True)

    def distance(self):
        self.dist_layout = [
            [p.Text("请输入A点到B点的行驶距离:")],
            [p.InputText(key="-DIST-")]
        ]

    def selection(self):
        self.select_layout = [
            [p.Text("请选择车辆类型:")],
            [   
                p.Radio("混动轿车", "Group1", key="-SEDAN-HYBRID-"),
                p.Radio("柴油SUV", "Group1", key="-SUV-DIESEL-"),
                p.Radio("汽油轿车", "Group1", key="-SEDAN-GAS-"),
                p.Radio("汽油微型车", "Group1", key="-MINI-GAS-")
            ]
        ]

    def run(self):
        # GUI事件主循环
        while True:
            event, values = self.window.read()
            # 关闭窗口或点击退出按钮时终止循环
            if event == p.WIN_CLOSED or event == "退出":
                break
            # 后续可在此处补充油耗计算逻辑
        # 循环结束后销毁窗口
        self.window.close()

if __name__ == "__main__":
    # 实例化类并启动GUI
    calculator = FuelCalculator()
    calculator.run()
关键修改说明
  • 调整__init__逻辑,实例化类时自动调用布局生成方法,移除不必要的入参要求
  • 为输入框、单选按钮配置唯一key标识,方便后续读取用户输入、实现油耗计算逻辑
  • 新增布局拼接逻辑,补充基础操作按钮,形成完整的窗口布局结构
  • 新增窗口创建、事件循环、窗口回收逻辑,满足PySimpleGUI的基础运行要求
  • 增加脚本入口判断,直接运行脚本时即可弹出GUI窗口
  • 代码内原有英文提示全部翻译为中文,符合使用习惯

内容的提问来源于stack exchange,提问作者not so good catto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.20 16:15:48