0
此代碼工作正常,但是當我按下最小化或關閉按鈕時,程序窗口會凍結一段時間。原因可能是在HookMouse中,沒有它,窗口最小化和關閉罰款。爲什麼?使用wxPython創建的凍結窗口,如果使用pyHook
import wx
import pyHook
class myFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, 'My Frame')
self.tc=wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize,
wx.TE_MULTILINE|wx.TE_NOHIDESEL|wx.TE_READONLY)
self.hm = pyHook.HookManager()
self.hm.KeyDown = self.OnKeyboardEvent
self.hm.HookKeyboard()
self.hm.MouseLeftDown=self.OnKeyboardEvent
self.hm.HookMouse()
wx.EVT_CLOSE(self, self.OnClose)
def OnGetAO(self, event):
self.tc.Value+=event.MessageName+"\n"
def OnKeyboardEvent(self, event):
wx.CallAfter(self.OnGetAO, event)
def OnClose(self, event):
del self.hm
self.Destroy()
if __name__ == '__main__':
app = wx.PySimpleApp(0)
frame = myFrame()
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()
我認爲一個更好的問題是你在做什麼?你爲什麼要連接鍵盤和鼠標? – 2012-02-08 13:51:38
我需要通過鍵盤和鼠標的全球事件,實際上undestand? – Ambyte 2012-02-09 12:23:58
像加速器表? – 2012-02-09 15:28:34