我正在嘗試向我的 Tkinter GUI 添加一個選單欄。我正在關注一個舊的 python 3.4 教程,在檢查了其他資源之后,它似乎并沒有過時。當我執行代碼時,我只收到Process finished with exit code 0訊息,除了運行我的代碼檔案的 python3 命令之外沒有別的。
這是我的代碼,我把它刪掉了,但應該可以復制這個問題。我認為變數容器存在一些問題,但我不確定如何解決問題
import tkinter as tk
class Tutorial(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
tk.Tk.wm_title(self, "Tkinter Tutorial")
container = tk.Frame(self)
container.pack(side="top", fill="both", expand=True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
menubar = tk.Menu(container)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="Save graph") #, command=lambda: PageGraph.save_file()
filemenu.add_command(label="Open graph") #, command=lambda: PageGraph.open_file()
filemenu.add_separator()
filemenu.add_command(label="Exit", command=quit())
menubar.add_cascade(label="File", menu=filemenu)
tk.Tk.config(self, menu=menubar)
self.show_frame(StartPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
app = Tutorial()
app.mainloop()
uj5u.com熱心網友回復:
考慮這行代碼:
filemenu.add_command(label="Exit", command=quit())
這在功能上與此相同:
result_of_quit = quit()
filemenu.add_command(label="Exit", command=result_of_quit)
看到問題了嗎?你馬上打電話quit(),所以 tkinter 退出。
當你定義command一個小部件的引數時,你必須給它一個函式的參考。您可以像以下示例中那樣執行此操作。注意丟失()。
filemenu.add_command(label="Exit", command=quit)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/489887.html
標籤:Python python-3.x 用户界面 tkinter
下一篇:在按鈕后出現的文本中添加滾動條
