标签:win1 win2 多窗口 pysimplegui Window Exit 设置 active sg
# -*- coding: utf-8 -*- """ Created on Mon Sep 12 11:39:42 2022 @author: Administrator """ import PySimpleGUI as sg # Design pattern 2 - First window remains active # 多窗口设计模式 1 - 两个窗口都处于活动状态 layout = [[ sg.Text('Window 1'),], [sg.Input(do_not_clear=True)], [sg.Text(size=(15,1), key='-OUTPUT-')], [sg.Button('Launch 2'), sg.Button('Exit')]] win1 = sg.Window('Window 1', layout) win2_active = False while True: ev1, vals1 = win1.read(timeout=100) win1['-OUTPUT-'].update(vals1[0]) if ev1 == sg.WIN_CLOSED or ev1 == 'Exit' or ev1 == None: break if not win2_active and ev1 == 'Launch 2': win2_active = True layout2 = [[sg.Text('Window 2')], [sg.Button('Exit')]] win2 = sg.Window('Window 2', layout2) if win2_active: ev2, vals2 = win2.read(timeout=100) if ev2 == sg.WIN_CLOSED or ev2 == 'Exit' or ev2 == None: win2_active = False win2.close() win1.close() import PySimpleGUI as sg # Design pattern 1 - First window does not remain active # 多窗口设计模式 2 - 只有 1 个活动窗口 layout = [[ sg.Text('Window 1'),], [sg.Input(do_not_clear=True)], [sg.Text(size=(15,1), key='-OUTPUT-')], [sg.Button('Launch 2'), sg.Button('Exit')]] win1 = sg.Window('Window 1', layout) win2_active = False while True: ev1, vals1 = win1.read(timeout=100) win1['-OUTPUT-'].update(vals1[0]) if ev1 == sg.WIN_CLOSED or ev1 == 'Exit' or ev1 == None: break if not win2_active and ev1 == 'Launch 2': win2_active = True layout2 = [[sg.Text('Window 2')], [sg.Button('Exit')]] win2 = sg.Window('Window 2', layout2) win1.hide() if win2_active: ev2, vals2 = win2.read(timeout=100) if ev2 == sg.WIN_CLOSED or ev2 == 'Exit' or ev2 == None: win2_active = False win2.close() win1.un_hide() win1.close() # 多窗口设计模式 2 - 只有 1 个活动窗口 import PySimpleGUI as sg def make_window1(): layout = [[sg.Text('Window 1'), ], [sg.Input(key='-IN-')], [sg.Text(size=(20, 1), key='-OUTPUT-')], [sg.Button('Launch 2'), sg.Button('Output')]] return sg.Window('Window 1', layout, finalize=True) def make_window2(): layout = [[sg.Text('Window 2')], [sg.Button('Exit')]] return sg.Window('Window 2', layout, finalize=True) def main(): window2 = None window1 = make_window1() while True: window, event, values = sg.read_all_windows() if event == sg.WIN_CLOSED and window == window1: break if window == window1: window1['-OUTPUT-'].update(values['-IN-']) if event == 'Launch 2' and not window2: window1.hide() window2 = make_window2() if window == window2 and (event in (sg.WIN_CLOSED, 'Exit')): window2.close() window2 = None window1.un_hide() window1.close() main()
标签:win1,win2,多窗口,pysimplegui,Window,Exit,设置,active,sg 来源: https://www.cnblogs.com/andylhc/p/16686100.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。