我正在编写一个wxPython应用程序,我希望(此刻)打印已按下的键的名称。我有一本字典,例如,将WXK_BACK映射到“背面”,这似乎是理智的。但是,我必须导入哪个文件(包括?)才能获得WXK_BACK的定义?
我有import wx
语句,但不确定哪个特定文件包含秘密
答案 0 :(得分:3)
导入wx
模块后可以直接使用所有密钥名称,例如
>>> import wx
>>> wx.WXK_BACK
8
您也不需要手动生成用于命名地图的键,您可以自动生成用于命名映射的键码,例如。
import wx
keyMap = {}
for varName in vars(wx):
if varName.startswith("WXK_"):
keyMap[varName] = getattr(wx, varName)
print keyMap
然后在OnChar你可以这样做
def OnChar(self, evt):
try:
print keyMap[evt.GetKeyCode()]
except KeyError:
print "keycode",evt.GetKeyCode(), "not found"
答案 1 :(得分:0)
您只需要为WXK_BACK符号导入wx。看起来像下面这样的代码应该有用。
import wx
class MyClass( wx.Window ):
def __init__(self):
self.Bind(wx.EVT_CHAR, self.OnChar)
def OnChar(self, evt):
x = evt.GetKeyCode()
if x==wx.WXK_BACK:
print "back"