用于运行Python Tkinter GUI的Bash脚本

时间:2017-07-06 17:56:20

标签: python bash user-interface tkinter

我正在尝试编写一个Bash脚本,以便我可以双击运行我的程序。该程序使用tkinter,GUI是我唯一需要看到的东西。我的bat文件如下:

python BudgetGUI.py &

这会运行代码并成功打印我在整个代码中打印的所有打印语句,但它从未打开GUI。它只是贯穿并立即关闭。

如何修改bash脚本以运行GUI?

提前致谢!

编辑 mac和pc的解决方案都很棒,不过目前我在PC上。我在Python3工作。

2 个答案:

答案 0 :(得分:1)

您需要添加对mainloop()的通话。如果没有看到您的代码,我无法确定,但您可能需要将root.mainloop()添加到底部。

您不需要bash或bat文件。对于你的mac,只需添加一个shebang并使文件可执行。对于Windows,添加一个shebang并将该文件与py.exe关联。

如果要禁止命令行与GUI一起弹出,请使用.pyw扩展名重命名文件。

答案 1 :(得分:0)

使用tkinter制作的窗口不在IDLE *

如果你有

root = Tk()

最后放

root.mainloop()

如果您有其他名称,请执行以下操作:

window1 = Tk()

然后,最后放

window1.mainloop()

所以你给Tk()

的任何名字都是如此
  

一个小例子

import tkinter as tk

class Window:
    root = tk.Tk()
    label = tk.Label(root, text = "Ciao").pack()


app = Window()
app.root.mainloop()

Python 2

上面的代码适用于python 3。 对于python 2,您只需要更改第一行(Tkinter with T,而不是t)

import Tkinter as tk