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