Tkinter无法连接显示“:0”

时间:2018-04-23 18:52:37

标签: python tkinter

我正在使用tkinter作为项目,在运行代码时我得到了消息

self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_ tkinter.TclError: couldn't connect to display ":0"

echo $DISPLAY returns :0

我已尝试导出DISPLAY =:0并导出DISPLAY =:0.0但它不起作用。

我想在笔记本电脑的屏幕上显示GUI(关于论坛上ssh的答案似乎无关)。

我在Windows上使用ubuntu。 我已经尝试过使用python3和2.7但是我得到了相同的消息。

2 个答案:

答案 0 :(得分:0)

由@borrible在评论中提供,您需要安装X服务器。有关详细信息,请参阅this page

答案 1 :(得分:0)

在Windows上使用WSL开发tkinter应用程序,您有两个主要选择。

1)在考虑跨平台开发的情况下开发应用程序,然后通过MS-DOS运行该应用程序。使用GitHub将帮助您处理Line Endings,这是我推荐(并且我使用)的课程,特别是如果您使用的是包含pathlib.Path

的Python 3.4+

2)不建议是在Windows上安装x服务器,在这种情况下,Xming似乎是最容易使用的服务器。安装完成后,运行:

sudo apt-get install x11-apps

...然后像以前一样导出您的显示...

export DISPLAY=:0

通过在WSL中运行xcalc之类的应用程序来测试安装... sample image

xcalc

这是我注释掉图标代码... tkinter app on xming

后在WSL的Xming下运行的tkinter应用程序的示例。

我建议通过MS-DOS运行该应用程序,当我测试xming时,它不处理“ .ico”文件。这样的问题可能会阻碍更复杂的应用程序。但是,如果您选择此路线more info is available here