Python wx session timeoute



我正在尝试编写一个简单的代码来超时会话。 我的想法是,如果用户在 5 分钟内不与应用程序交互,那么函数将启动并终止应用程序。但是,如果用户处于活动状态并与应用程序交互,则 kill 函数将无法运行。有人帮忙

我的简单wx在这里

import wx
class MyForm(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Timeout",
size=(500, 500))
panel = wx.Panel(self, wx.ID_ANY)
self.toggleBtn = wx.Button(panel, wx.ID_ANY, "Enter")
self.toggleBtn.Bind(wx.EVT_BUTTON, self.onToggle)
def onToggle(self, event):
print("you have a action")

if __name__ == "__main__":
app = wx.App(False)
frame = MyForm().Show()
app.MainLoop()

wx.计时器是你需要的。

以 60000 毫秒的间隔(5 分钟(启动计时器。将计时器事件绑定到某个处理程序。计时器响起时,在该处理程序中关闭应用。

如果用户执行某些操作(例如移动鼠标或敲击键盘(,则必须停止并重新启动计时器。
为此,您需要绑定鼠标和键盘事件(并通过调用 Skip 像往常一样处理它们(。在这些处理程序中,您可以重新启动计时器。

例如,请参阅此维基

最新更新