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

PySimpleGUI如何检测按钮点击、设置Predict Risk触发限制及绑定回车

风险预测工具功能实现代码

本次实现覆盖两个核心需求,同时完成了全界面中文化适配:

  • 仅在用户选中任意行业后,输入框、风险预测、结果校验、清空等后续功能才会激活
  • 回车键自动绑定风险预测按钮,选中行业后按下回车即可直接触发预测逻辑
import PySimpleGUI as sg

# 界面布局定义
layout = [
    [sg.Text('请选择所属行业')],
    [sg.Button("汽车行业"), sg.Button("化工"), sg.Button("工程/咨询"),
     sg.Button("快消品"), sg.Button("医疗/酒店服务"), sg.Button("基础设施")],
    [sg.Button("IT/通信/数据中心"), sg.Button("制造业"), sg.Button("矿业"),
     sg.Button("能源/油气"), sg.Button("医药"), sg.Button("零售"), sg.Button("水泥")],
    [sg.Text(size=(50, 1), key='loaded')],
    [sg.Text('请输入观察/整改建议:', size=(26, 1)), sg.InputText(key='input', disabled=True)],
    [sg.Button("风险预测", bind_return_key=True, disabled=True)],
    [sg.Text(size=(30, 1), key='output')],
    [sg.Text('如果以上预测结果正确请选择「是」,否则选择正确的风险等级:')],
    [sg.Button("是", disabled=True), sg.Button("低风险", disabled=True), sg.Button("中风险", disabled=True)],
    [sg.Text(size=(30, 2), key='trained')],
    [sg.Button("退出"), sg.Button("清空内容", disabled=True)]
]

window = sg.Window("风险预测工具", layout)
# 存储已选中的行业,可传入后续预测逻辑使用
selected_industry = None

while True:
    event, values = window.read()
    # 关闭窗口或点击退出按钮时结束程序
    if event == sg.WIN_CLOSED or event == '退出':
        break

    # 行业按钮点击统一处理
    industry_list = ["汽车行业", "化工", "工程/咨询", "快消品", "医疗/酒店服务", "基础设施",
                     "IT/通信/数据中心", "制造业", "矿业", "能源/油气", "医药", "零售", "水泥"]
    if event in industry_list:
        selected_industry = event
        # 更新选中行业提示
        window['loaded'].update(f"已选中行业:{selected_industry}")
        # 激活所有后续功能控件
        window['input'].update(disabled=False)
        window['风险预测'].update(disabled=False)
        window['是'].update(disabled=False)
        window['低风险'].update(disabled=False)
        window['中风险'].update(disabled=False)
        window['清空内容'].update(disabled=False)

    # 风险预测触发逻辑,可在此处补充你的预测算法代码
    if event == '风险预测':
        input_content = values['input']
        if input_content.strip() == '':
            sg.popup("请先输入观察/整改建议内容")
            continue
        # 此处替换为实际预测逻辑即可
        predict_result = "高风险" # 示例预测结果
        window['output'].update(f"预测风险等级:{predict_result}")

    # 清空内容按钮逻辑
    if event == '清空内容':
        window['input'].update('')
        window['output'].update('')
        window['trained'].update('')

window.close()

核心修改说明

  • 初始化阶段给所有非行业选择、非退出的控件添加了disabled=True属性,默认不可操作,符合权限控制要求
  • 给「风险预测」按钮添加了bind_return_key=True参数,自动绑定回车键触发,按钮禁用时回车不会生效
  • 统一管理所有行业按钮的点击事件,用户选中任意行业后自动激活所有后续功能,同时显示当前选中的行业提示
  • 补充了基础的输入校验、清空逻辑,预留了预测算法、模型训练的代码插入位置

内容的提问来源于stack exchange,提问作者Chinmay Datar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:27:00