0

我的 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 屏幕上的帮助将不胜感激。

4

0 回答 0