さて、私はどのキーが押されたかをチェックするためのいくつかのコードを思いつきました、それは今かなり基本的です、しかし私が進むにつれて私はここで更新します、ポイントはキーイベントが起こるときはいつでもキーが押されるようにすることです
import wx
class Example(wx.Frame):
def __init__(self, *args,**kw):
super(Example, self).__init__(*args,**kw)
self.InitUI()
def InitUI(self):
#frame = wx.Frame(self, style=wx.FRAME_DRAWER | wx.STAY_ON_TOP, size = (100, 100))
#pnl= wx.Panel(frame)
pnl= wx.Panel(self)
pnl.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
self.st1 = wx.StaticText(self, label='', pos=(30, 10))
pnl.SetFocus()
self.SetSize((250,180))
self.SetTitle('Key Press Event')
self.Centre()
self.Show(True)
def OnKeyDown(self, e):
key = e.GetKeyCode()
if key==wx.WXK_ESCAPE:
self.st1.SetLabel("ESCAPE")
elif key ==wx.WXK_CONTROL:
self.st1.SetLabel("CTRL")
elif key==wx.WXK_ALT:
self.st1.SetLabel("ALT")
elif key==wx.WXK_BACK:
self.st1.SetLabel("BACKSPACE")
elif key== wx.WXK_EXECUTE:
self.st1.SetLabel("ENTER KEY")
def main():
ex = wx.App()
Example(None)
ex.MainLoop()
if __name__=='__main__':
main()
このためにフチなしウィンドウを作成しようとしていますが、style = FRAME_DRAWERのフレームにパネルを配置しても機能せず、STAY_ON_TOPも機能しないため、これらの2行にコメントが付けられます。uが機能するかどうかを確認してください。