我正在尝试编写一个Bash脚本,以便我可以双击运行我的程序。该程序使用tkinter,GUI是我唯一需要看到的东西。我的bat文件如下:
python BudgetGUI.py &
这会运行代码并成功打印我在整个代码中打印的所有打印语句,但它从未打开GUI。它只是贯穿并立即关闭。
如何修改bash脚本以运行GUI?
提前致谢!
编辑 mac和pc的解决方案都很棒,不过目前我在PC上。我在Python3工作。
答案 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