调用多个函数时关闭 windows
Closing windows when calling multiple functions
所以我正在练习 PySimpleGui 并创建角色 sheet。我有一个触发顶部“if 事件”的按钮,但是当 create_name 函数 returns 'name' 时 window 没有关闭,我得到下一个函数 window 打开并以多个 windows 打开结束。有没有办法关闭 window 作为 return 函数的一部分,或者有更简单的方法来过渡到新函数?
if event == 'Create New Character':
player_character.character_name = create_name()
player_character.selected_profession = create_profession()
def create_name():
layout = [
[sg.Text('Enter your character name: ')],
[sg.InputText('', key='name_text')],
[sg.Button('Continue'), sg.Exit()]
]
window = sg.Window('MERP Character Creation', layout)
while True:
event, values = window.Read()
if event is None or event == 'Exit':
break
if event == 'Continue':
name = values['name_text']
return name
window.Close()
只需在 return
之前保留声明 window.close()
举两个例子,记住window.close()
并不意味着函数结束。
while True:
event, values = window.read()
if event is None or event == 'Exit':
break
if event == 'Continue':
name = values['name_text']
window.close()
return name
window.close()
while True:
event, values = window.read()
if event is None or event == 'Exit':
result = None
break
if event == 'Continue':
result = values['name_text']
break
window.close()
return result
所以我正在练习 PySimpleGui 并创建角色 sheet。我有一个触发顶部“if 事件”的按钮,但是当 create_name 函数 returns 'name' 时 window 没有关闭,我得到下一个函数 window 打开并以多个 windows 打开结束。有没有办法关闭 window 作为 return 函数的一部分,或者有更简单的方法来过渡到新函数?
if event == 'Create New Character':
player_character.character_name = create_name()
player_character.selected_profession = create_profession()
def create_name():
layout = [
[sg.Text('Enter your character name: ')],
[sg.InputText('', key='name_text')],
[sg.Button('Continue'), sg.Exit()]
]
window = sg.Window('MERP Character Creation', layout)
while True:
event, values = window.Read()
if event is None or event == 'Exit':
break
if event == 'Continue':
name = values['name_text']
return name
window.Close()
只需在 return
window.close()
举两个例子,记住window.close()
并不意味着函数结束。
while True:
event, values = window.read()
if event is None or event == 'Exit':
break
if event == 'Continue':
name = values['name_text']
window.close()
return name
window.close()
while True:
event, values = window.read()
if event is None or event == 'Exit':
result = None
break
if event == 'Continue':
result = values['name_text']
break
window.close()
return result