PySimpleGUI 代码到 运行 代码中特定的 RunCell?

PySimpleGUI code to run specific RunCell in the code?

这是我的第一个问题,所以如果我错过了任何规则,请告诉我。我也是编码初学者,所以我的方法在某些情况下可能效率不高。

我写了一个 Python 代码(使用 Visual Studio 代码)来自动化我的一个主要工作流程。我将整个代码分成了 #%% 部分。所以我 运行 每个单元格一个一个,因为在每个单元格之后我都会进行手动质量检查。所以代码看起来像:

#%%
code part 1
#base on output i do checks and decision if I can move forward with code

#%%
code part 2
#base on output i do checks and decision if I can move forward with code

#%%
code part ...

#%%
code part 9

end

现在,我想添加 GUI,通过它我可以控制代码的哪一部分应该是 运行,并且该部分的输出将在输出 window 中呈现给我。

我不知道如何将我的 GUI 代码中的按钮引用到代码中的 运行 特定 RunCell?

我正在使用 PySimpleGUI,到目前为止代码如下所示:

import PySimpleGUI as sg      

layout = [[sg.Text('Persistent window')],      
          [sg.InputText(key='_OUTPUT_')],      
          [sg.Button('RunCell_1'), sg.Exit()],
          [sg.Button('RunCell_2')]]      

window = sg.Window('Window that stays open', layout)      

while True:
    event, values = window.read() 
    print(event, values)       
    if event == sg.WIN_CLOSED or event == 'Exit':
        break
    if event == 'RunCell_1' #what now, how specify which part to run?
        if out: window['_OUTPUT_'].update(values['values from main code'])

window.close()

if event == 'RunCell_1 应该以 : 结尾 至于你的问题。这将取决于您的其余代码的设置方式。如果您将每个“代码部分”作为您想要 运行 的函数。你可以这样做

def cell_1():
    print('do cell_1 stuff here')
def cell_2():
    print('do cell_2 stuff here')
def gui():
    layout = [[sg.Text('Persistent window')],
              [sg.InputText(key='_OUTPUT_')],
              [sg.Button('RunCell_1'), sg.Exit()],
              [sg.Button('RunCell_2')]]

    window = sg.Window('Window that stays open', layout)

    while True:
        event, values = window.read()
        print(event, values)
        if event == sg.WIN_CLOSED or event == 'Exit':
            break
        if event == 'RunCell_1':#what now, how specify which part to run?
            cell_1()
        if event == 'RunCell_2':
            cell_2()
            #if out: window['_OUTPUT_'].update(values['values from main code'])

    window.close()
gui()

也强烈建议查看 Pysimplgui cookbook if you haven't already. as well as the call references。当事情开始变得越来越复杂时,这可以帮助回答很多问题