Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 不带终端窗口的getkey/getchar_Python_Linux - Fatal编程技术网

Python 不带终端窗口的getkey/getchar

Python 不带终端窗口的getkey/getchar,python,linux,Python,Linux,我希望有一个getkey/getchar函数,可以从键盘读取一个键。注意,该程序不在终端窗口中运行,而是通过linux的快捷方式执行。您可以使用Tkinter弹出窗口,并对按键事件作出反应: import Tkinter as tk class App(object): def __init__(self, master, **kwargs): self.master = master master.geometry('200x200+0+0')

我希望有一个getkey/getchar函数,可以从键盘读取一个键。注意,该程序不在终端窗口中运行,而是通过linux的快捷方式执行。

您可以使用Tkinter弹出窗口,并对按键事件作出反应:

import Tkinter as tk
class App(object):
    def __init__(self, master, **kwargs):
        self.master = master
        master.geometry('200x200+0+0')
        master.bind('<KeyPress>', self.react_to_keypress)
    def react_to_keypress(self, event):
        print(event.char)  # change this; since there will be no terminal
        self.master.quit()

root = tk.Tk()
app = App(root)

root.mainloop()
将Tkinter作为tk导入
类应用程序(对象):
定义初始(自我、主控、**kwargs):
self.master=master
主几何体('200x200+0+0')
master.bind(“”,self.react_to_keypress)
def对按键做出反应(自身、事件):
打印(event.char)#更改此项;因为没有终点站
self.master.quit()
root=tk.tk()
app=app(根目录)
root.mainloop()

这是一个很好的解决方案,但它需要关闭窗口并退出程序调用
self.master.quit()
中的“对按键作出反应”。