我正在尝试在python中创建一个关键事件。我认为使用curses模块我可以做到,但我不知道如何。请帮我。
如何通过按键盘键来调用功能。就像,如果按下“空格”键做某事,如果按“c”键显示图像,如果按“s”键保存图像。我的问题只是制作那个关键事件。 我正在使用Linux o.s。
我尝试使用urwid模块 当我使用这段代码时:
import PIL
import Image
im=Image.open("im.tif")
imshow(im,cmap=cm.gray ,origin=1)
import urwid
def save(input):
if input in ('s'):
savefig("im2.png")
出现了这个错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1413, in __call__
return self.func(*args)
File "/usr/lib/pymodules/python2.6/matplotlib/backends/backend_tkagg.py", line 312, in key_press
FigureCanvasBase.key_press_event(self, key, guiEvent=event)
File "/usr/lib/pymodules/python2.6/matplotlib/backend_bases.py", line 1143, in key_press_event
self.callbacks.process(s, event)
File "/usr/lib/pymodules/python2.6/matplotlib/cbook.py", line 163, in process
func(*args, **kwargs)
File "/usr/lib/pymodules/python2.6/matplotlib/backend_bases.py", line 1703, in key_press
self.canvas.toolbar.save_figure(self.canvas.toolbar)
TypeError: save_figure() takes exactly 1 argument (2 given)
我做错了什么?我怎样才能使它工作?
ps:我很抱歉我的无知,但我在python中很新。感谢您的回答
答案 0 :(得分:2)
生成按键:
在Windows上,生成按键很容易。在Linux上有点困难:
os.system('xvkbd -text "\\\\CP" ')
获得一键按键:
对于这种情况,使用curses有点多。
答案 1 :(得分:0)