2017-12-24 12 views
1

Tkinterで簡単なGUIを作成し、アプリケーションに変換しようとしました。プログラムに手動で作成された終了ボタンがあります。このボタンは、Pythonプログラムの場合には動作しますが、アプリケーションに作成されたときには動作しません。私のコードは:アプリケーションへの変換後にQuit()ボタンが機能しない

def exit(): 
    quit() 
def main(): 

    root = tk.Tk() 

    top = Frame(root) 
    bottom = Frame(root) 

    top.config(bg="lightgray") 
    top.pack(side=TOP) 

    bottom.config(bg="gray") 
    bottom.pack(side=BOTTOM, fill=BOTH, expand=True) 
    root.title("Quote of the Day") 
    root.overrideredirect(True) 

    root.lift() 
    root.wm_attributes("-transparentcolor", "white") 
    root.columnconfigure(0, weight=1) 
    root.rowconfigure(1, weight=1) 
    root.attributes('-alpha', 0.8) 
    root.iconbitmap("icon.png") 

    b1 = Button(root,text = " X ", command = exit, bg = None) 
    b1.config(width = 1, height = 1, borderwidth = 0) 

    b1.pack(in_=top, side=RIGHT) 
    root.mainloop() 

if __name__==('__main__'): 
    main() 
+0

'コマンド= root.destroy'は良い仕事かもしれません:

だから、あなたはとボタンの宣言行を変更する必要があります。私は 'quit()'は主に対話的な使用を意図していると信じています。 – jasonharper

+0

そうです。ありがとうございました! – v0rtex

+0

[このガイド](https://stackoverflow.com/help/mcve)を使用して例を示してください。あなたのコードは_incomplete_です。 – Nae

答えて

1

出口を呼び出すボタンのコマンドを設定する代わりに、root.destroyを使用してください。

b1 = Button(root,text = " X ", command = root.destroy, bg = None) 
関連する問題