如何在一定时间后终止函数调用
how to kill a function call after a certain amount of time
def input():
sg.theme('TanBlue')
event, values = sg.Window('Login Window',
[[sg.T('Please Enter your email'), sg.In(key='-ID-')],
[sg.B('OK'), sg.B('Cancel') ]]).read(close=True)
login_id = values['-ID-']
return login_id
我在 python 中编写了这个简单的函数,它是一个小的 GUI,可以弹出来接受用户的输入。但我想做的是,在一定时间后,比如说 10 秒。如果没有输入,我想关闭 GUI 并为预期的输入使用默认值。我的整个脚本使用这个 GUI 暂停,如果没有给出输入,那么脚本将不会继续。我不想要那个,但我不知道如何实现它。我尝试使用 python 中的信号,但我在 windows 10 上,无法正确集成它。我想要一个通用的解决方案
谢谢
input
是 Python 中的关键字,因此不应用作函数名称。
您可以在读取调用中添加超时。
此示例将给用户 3 秒的时间来填写一个值并按确定:
import PySimpleGUI as sg
def timed_input():
sg.theme('TanBlue')
event, values = sg.Window('Login Window',
[[sg.T('Please Enter your email'), sg.In(key='-ID-')],
[sg.B('OK'), sg.B('Cancel')]]).read(timeout=3000, close=True)
if event == sg.TIMEOUT_KEY:
print('Timed out')
login_id = None
else:
login_id = values['-ID-']
return login_id
print(timed_input())
很好地使用了缩短的元素名称和关闭参数。我以前从未见过带有关闭参数的超时。有趣的组合。
def input():
sg.theme('TanBlue')
event, values = sg.Window('Login Window',
[[sg.T('Please Enter your email'), sg.In(key='-ID-')],
[sg.B('OK'), sg.B('Cancel') ]]).read(close=True)
login_id = values['-ID-']
return login_id
我在 python 中编写了这个简单的函数,它是一个小的 GUI,可以弹出来接受用户的输入。但我想做的是,在一定时间后,比如说 10 秒。如果没有输入,我想关闭 GUI 并为预期的输入使用默认值。我的整个脚本使用这个 GUI 暂停,如果没有给出输入,那么脚本将不会继续。我不想要那个,但我不知道如何实现它。我尝试使用 python 中的信号,但我在 windows 10 上,无法正确集成它。我想要一个通用的解决方案 谢谢
input
是 Python 中的关键字,因此不应用作函数名称。
您可以在读取调用中添加超时。
此示例将给用户 3 秒的时间来填写一个值并按确定:
import PySimpleGUI as sg
def timed_input():
sg.theme('TanBlue')
event, values = sg.Window('Login Window',
[[sg.T('Please Enter your email'), sg.In(key='-ID-')],
[sg.B('OK'), sg.B('Cancel')]]).read(timeout=3000, close=True)
if event == sg.TIMEOUT_KEY:
print('Timed out')
login_id = None
else:
login_id = values['-ID-']
return login_id
print(timed_input())
很好地使用了缩短的元素名称和关闭参数。我以前从未见过带有关闭参数的超时。有趣的组合。