Tkinter无法连接显示“:0”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tkinter无法连接显示“:0”相关的知识,希望对你有一定的参考价值。

我正在使用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,但我得到了相同的消息。

答案

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

另一答案

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

1)开发具有跨平台开发的应用程序,然后通过MS-DOS运行应用程序。使用GitHub将帮助您处理Line Endings这是我推荐的课程(我使用),特别是如果您使用的是Python 3.4+,其中包括pathlib.Path

2)不推荐在Windows上安装x-server,在这种情况下,Xming似乎最容易上手。安装完成后运行:

sudo apt-get install x11-apps

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

export DISPLAY=:0

通过在WSL ... sample image中运行xcalc等应用来测试安装

xcalc

这是在我注释掉图标代码后在WSL上运行的tkinter应用程序示例... tkinter app on xming

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

以上是关于Tkinter无法连接显示“:0”的主要内容,如果未能解决你的问题,请参考以下文章

我无法在我的 tkinter 图像上显示文本

Tkinter OptionMenu 无法正确显示

显示意外行为的 tkinter 代码

Matplotlib在tkinter中起作用

在 Tkinter 文本框中显示从串行端口读取的数据时,发出处理数据

Tkinter