我在Raspberry Pi上运行代码。它是一个代码,在函数内运行一小段使用tkinter来检测按键的代码。如果您输入Konami代码,那么它输出"您是专家。"。这段代码工作正常(如下所示),但如果在像Raspberry Pi这样的函数内部它可以工作吗?
Pi上的循环接受输入的输入。每个关键字都会输入一个功例如,' break'完全退出主循环。输入' ping'会带你到ping系统。为此,我写(从python翻译成英文):如果你输入'代码',你将进入tkinter按键系统。这是系统。作为tk的导入tkinter不是在内部tkinter函数中写入的。它写在整个程序的开头。
import tkinter as tk
list = ['0']
def key(event):
if event.keysym == 'Return':
root.destroy()
if event.char == 'Backspace':
list= ['0']
if even.char == event.keysym:
if event.char == "b":
list.append('b')
if event.char == "a":
list.append('a')
elif len(event.char)==1:
print('')
else:
# f1 to f12, shift keys, caps lock, Home, End, Delete ...
if (event.keysym == 'Up'):
list.append('Up')
if (event.keysym == 'Down'):
list.append('Down')
if (event.keysym == 'Left'):
list.append('Left')
if (event.keysym == 'Right'):
list.append('Right')
root = tk.Tk()
print( "Press a key (Escape key to exit):" )
root.bind_all('<Key>', key)
# don't show the tk window
root.withdraw()
root.mainloop()
if (list == ['0', 'Up', 'Up', 'Down', 'Down', 'Left', 'Right', 'Left', 'Right', 'b', 'a']):
print ("You are pro.")
该程序运行正常,直到我输入&#39;代码&#39;作为启动该功能的命令。错误:
Traceback (most recent call last):
File "/mnt/clock.py", line 391, in <module>
root = tk.Tk()
File "/use/lib/python3.3/tkinter/__init__.py", line 1701, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, use Tk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable.
我浏览了raspberry pi文件,看看__init__.py代码是否与windows上的代码不同。当然,它是一样的。
我将不胜感激。