PySimpleGUI:在第二个窗口中使用InputCombo

时间:2019-04-18 19:58:21

标签: pysimplegui

我是Python的新手,正在尝试PySimpleGUI。我正在尝试在第二个弹出窗口中使用InputCombo。这是基于“设计模式2-第一个窗口保持活动状态”的代码。

import PySimpleGUI as sg

method = 'method1'

layout = [[ sg.Text('Window 1'),],
      [sg.Input(do_not_clear=True)],
      [sg.Text('', key='_OUTPUT_')],
      [sg.Button('Launch 2'), sg.Button('Exit')]]

method_layout = [ 
    [sg.Text(' Method:', font=('current 12')), sg.InputCombo(['method1', 'method2', ' method3', ' method4', ' method5',], default_value ='method1', key='_Method_')],
    [sg.Button('Apply', key='_Apply_'), sg.Button('Close', key='_Close_')]
    ]       

 win1 = sg.Window('Window 1').Layout(layout)

 win2_active = False
 while True:
    ev1, vals1 = win1.Read(timeout=100)
    win1.FindElement('_OUTPUT_').Update(vals1[0])
    if ev1 is None or ev1 == 'Exit':
       break

    if not win2_active and ev1 == 'Launch 2':
       win2_active = True
       win2 = sg.Window('Window 2').Layout(method_layout)

    if win2_active:
       ev2, vals2 = win2.Read(timeout=100)
       if ev2 == '_Apply_':
          method = vals2['_Method_']
       elif ev2 is None or ev2 == '_Close_':
          win2_active  = False
          win2.Close()

当我第二次重新打开弹出窗口时,我希望设置先前选择的值。但这没有设置,并且代码崩溃。

0 个答案:

没有答案