-1
私は2つのウィンドウを生成するために、次のサンプルコードを使用しています:Python、複数のウィンドウ間でイベントを処理する方法は?
import Tkinter as tk
class Demo1:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.button1 = tk.Button(self.frame, text = 'New Window', width = 25, command = self.new_window)
self.button1.pack()
self.frame.pack()
def new_window(self):
print 1
self.newWindow = tk.Toplevel(self.master)
print 2
self.app = Demo2(self.newWindow)
print 3
class Demo2:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.quitButton = tk.Button(self.frame, text = 'Quit', width = 25, command = self.close_windows)
self.quitButton.pack()
self.frame.pack()
def close_windows(self):
self.master.destroy()
def main():
root = tk.Tk()
app = Demo1(root)
root.mainloop()
if __name__ == '__main__':
main()
私は「1」(または多分「2」)がnew_window()
メソッドが呼び出されたときに、印刷されることを期待します。私はDemo2
が閉じられたときに "3"が印刷されることを期待しています! しかし、button1
を押すと、3つのprint文がすべて実行されました。 どうすればそれを処理できますか?
... –
主な目的は、いくつかの情報フォームを管理するために第2の窓を使用している... –
@BasicWolfは、私が知っている「なぜそれが起こるのでしょうか?」。私はそれを管理する方法を知らない...! –