我的 main.py 如下:
from tkinter import *
mainWin = Tk()
#widgets are added here.
# Prepare for clean exit on window close.
mainWin.protocol("WM_DELETE_WINDOW", close)
mainWin.mainloop()
当我做
sudo python3 main.py
...我在第 2 行收到以下错误:
_tkinter.TclError: no display name and no $DISPLAY environment variable
我在 main.py 的第 2 行之后插入了它,以尝试让它工作:
if os.environ.get('DISPLAY','') == '':
print('no display found. Using :0.0')
os.environ.__setitem__('DISPLAY', ':0.0')
...但后来我明白了:
_tkinter.TclError: couldn't connect to display ":0.0"
我还尝试将 main.py 复制到桌面并在桌面上添加一个带有以下内容的 launch.command 文件:
#!bin/bash
sudo python3 main.py
……然后……
chmod u+x /home/pi/Desktop/launch.command
然后我双击桌面上的launch.command 图标,它将文件打开到记事本附件中,而不是提供执行文件的选项。
我正在尝试构建一个最终通过自动启动运行的 GUI,但现在只需要窗口出现在 raspbian 桌面前面的屏幕上,这样我就可以看到我需要做些什么来进一步完善它。
我是 python3 和 tkinter 的新手,只关注适用于他们的脚本和 youtube 视频,没有任何这些明显的切线错误。任何有关让 mainWin 显示在 DSI 屏幕上的帮助将不胜感激。