我有一个非常简单的应用程序,其任务是在用户按下键后启动另一个子进程。但是,这有点复杂,因为必须将系统托盘中的应用程序最小化。除非将应用程序最小化到任务栏图标,否则所有操作均正常。 wx.EVT_KEY_DOWN刚刚停止工作。因为我对Python特别是OOP还是很陌生,所以我怀疑自己做错了什么。请告知如何解决此问题。
这是Windows应用程序,不需要支持其他系统。我尝试了Pynput的键盘侦听器,但它在多线程处理方面造成了更多问题。我宁愿避免使用它。
class MyForm(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Title")
panel = wx.Panel(self, wx.ID_ANY)
self.tbIcon = custTray.CustomTaskBarIcon(self)
self.Bind(wx.EVT_ICONIZE, self.onMinimize)
self.Bind(wx.EVT_CLOSE, self.onClose)
panel.Bind(wx.EVT_KEY_DOWN, self.onKeyPress)
self.text = wx.StaticText(panel, 0, "Please wait.....")
self.timer = wx.Timer(self)
def onKeyPress(self, event):
pass
结果是事件wx.EVT_KEY_DOWN仅在未最小化表单时起作用。一旦将其最小化,事件将停止工作。我希望它们在最小化应用程序时也能正常工作