私はどのように私のウィンドウにメニューオプションを追加するのか混乱しています...私は明らかにメニューバーを作り、私のコードで見ることができるようにする方法を知っています。しかし、1つのTk.tkウィンドウしかないので、ウィンドウを1つずつ別のものに変更する方法には影響があります。残りのプログラムはそのウィンドウ内で動作します。私は各ウィンドウのタイトルとメニューを変更できるようにしたいと思います。Tkinter、新しいウィンドウのメニューオプションを追加してください
class start(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame(self)
container.pack(side="top", fill="both", expand = True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
tk.Tk.title(self, "Group Registration")
menubar = tk.Menu(container)
tk.Tk.config(self, menu=menubar)
fileMenu = tk.Menu(menubar, tearoff=0)
menubar.add_cascade(label="File", menu=fileMenu)
fileMenu.add_command(label="Exit", command=quit)
for F in (begin, admin_main, members):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(begin)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
frame.event_generate("<<showframe>>")
class begin(tk.Frame):
pass
class admin_main(tk.Frame):
def __init__(self, parent, controller):
self.bind("<<showframe>>", self.on_show_frame)
def on_show_frame(self, event):
menubar = Menu(self)
fileMenu = Menu(menubar)
menubar.add_cascade(label="File", menu=fileMenu)
fileMenu.add_command(label="Create member list")#command=)
fileMenu.add_command(label="Load member list")#command=)
fileMenu.add_command(label="Email")#command=)
fileMenu.add_separator()
fileMenu.add_command(label="Exit")
print"ok"
class members(tk.Frame):
pass
app = start()
app.geometry("600x400")
app.mainloop()
このクラスは新しいウィンドウです。これは、ウィンドウがどのように動作するかを示すコードの短いバージョンです。
(改訂版) ページが開くと、インタープリタは「ok」と表示されます。それを改訂した構文はありません...しかし、私は新しいメニューバーが現れません。
以下は読んでいますか? https://stackoverflow.com/questions/35029188/how-would-i-make-a-method-which-is-run-every-time-a-frame-is-shown-in-tkinter –
私は今あります笑...私は前にevent_generateを使用していないが、私はグーグルで何を読んでいるから、私はやそのようなものを行うことができます。私は私のメニューに追加するためにそれを使用する方法を理解していない。 event_generate()内にコードを追加するか、例のようにバインドして、def on_show_frame()内にコードを追加します。 –
ricky6991
メニューにイベントを追加しません。偶数を使用して、メニューを作成する関数を呼び出します。あなたは、上記のコードでそれをやっているようにメニューを作って、ページを作成するコードではなくページが表示されたときに呼び出される関数でのみ行います。 –