你是如何开始Tkinter的?

时间:2016-06-27 06:00:32

标签: python tkinter cygwin x11

我很难让我的Cygwin安装Tkinter工作。它看起来比任何教程都要复杂得多,这让我想知道我是否错误地使用它。

这是我的"你好,世界"程序

#!/usr/bin/python
import os
import tkinter as tk

os.environ['DISPLAY'] = ':0'

root = tk.Tk()
frame = tk.Frame(root)
frame.pack()
label = tk.Label(frame, text="Hey there.")
label.pack()
quitButton = tk.Button(frame, text="Quit", command=frame.quit)
quitButton.pack()
root.mainloop()

所以要运行这个程序,我必须初始化X11,对吧? (为什么在任何教程中都没有提到过这部分?)所以我用Cygwin安装了X11。

为了初始化X11,我尝试使用命令" bash startxwin"在控制台中显示here,但我只是得到错误"坏"添加"命令行"

所以我使用命令" xwin",这会创建一个巨大的黑色窗口。运行我的程序会使窗口appear in the corner。但我希望它出现在自己的窗口中。

这显然不是我认为的简单库。感觉很深奥。我做错了吗?

1 个答案:

答案 0 :(得分:0)

我知道这很老了,但是它帮助我解决了这个问题。我也在Windows 10上。 您必须运行本机X服务器。请参阅@ speaker-to-animals的答案here。 上面的os.environ命令与CMD中的SET DISPLAY =:0.0相同。 在没有客户端的Windows机器上启动Xorg服务器,因此它在后台等待。 使用此设置,上面的代码可以完全按照您想要的方式工作。我从Windows CMD而不是Cygwin运行它。我使用它来将GUI添加到测试用例-测试人员喜欢它。