如何解决调用多个函数时关闭窗口
所以我正在练习 PySimpleGui 并创建一个角色表。我有一个按钮可以触发顶部的“if 事件”,但是当 create_name 函数返回“name”时,窗口不会关闭,我打开下一个函数窗口并以打开多个窗口结束。有没有办法关闭窗口作为返回函数的一部分,或者更简单的方法来转换到新函数?
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()
解决方法
在你window.close()
之前保留声明return
两个例子,记住 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。