-1

手始めに、私は他の誰かのコードに取り組んでいます。

このコードでは、最初の tkinter ウィンドウを開き、ユーザーが情報を入力してボタンを押します。次に、別の tkinter ウィンドウが開き、ユーザー名とパスワードを要求します。ユーザーは資格情報を提供し、[OK] ボタンを押します。

子ウィンドウ、ユーザー名パスワードウィンドウが閉じないことを除いて、すべてうまく機能します。

私はそれを数時間ハッキングしてきましたが、フラストレーションは私の唯一の成果でした.

destroy で子ウィンドウを閉じることはできましたが、アプリ全体が強制終了されます。

何か案は?

4

2 に答える 2

1

子ウィンドウが の場合、ボタンでメソッドを呼び出すtk.Toplevelことで閉じることができます。okdestroy

import Tkinter as tk


class Child(object):
    def __init__(self, master=None):
        self.master = master
        window = tk.Toplevel(master)
        close_button = tk.Button(
            window, text='OK/Close', command=window.destroy)
        close_button.pack(side=tk.LEFT, padx=5, pady=5)


class MainApp(object):
    def __init__(self, master=None):
        self.master = master
        close_button = tk.Button(master, text='Child window',
                                 command=Child)
        close_button.pack(side=tk.BOTTOM, padx=5, pady=5)

root = tk.Tk()
app = MainApp(root)
root.mainloop()
于 2013-02-03T16:52:10.767 に答える
0

いつウィンドウを閉じたいのか正確にはわかりませんが、そのウィンドウがまったく必要ない場合は、使用できますWindow_name.withdraw()

于 2013-02-19T08:59:09.610 に答える