質問

はい終了Tkinterす。ということかしてこのコード:

from Tkinter import *

def quit():
    # code to exit

root = Tk()
Button(root, text="Quit", command=quit).pack()
root.mainloop()

いつ、どのように定義する quit 機能口より私なりますか。

役に立ちましたか?

解決

のものを使用できる destroy() 閉tkinterます。

from Tkinter import *

root = Tk()
Button(root, text="Quit", command=root.destroy).pack()
root.mainloop()

説明:

root.quit()

上記ではなにが起こるかわかりません Fpgaroot.mainloop() ん。e root.mainloop() 続するとともに、背景の場合 quit() コマンドが実行されます。

root.destroy()

ながら destroy() コマンドで消え行 root.mainloop() ん。e root.mainloop() 停止します。

ていただけたいプログラムを終了するにはその利用 root.destroy() まで停止 mainloop().

でもスケジュールを設定します一部の無限ループやまないを破壊Tk画を実行したいコードを後 root.mainloop() ラインそのものを使用できる root.quit().Ex:

from Tkinter import *
def quit():
    global root
    root.quit()

root = Tk()
while True:
    Button(root, text="Quit", command=quit).pack()
    root.mainloop()
    #do something

他のヒント

def quit()
    root.quit()

または

def quit()
    root.destroy()
import Tkinter as tk

def quit(root):
    root.destroy()

root = tk.Tk()
tk.Button(root, text="Quit", command=lambda root=root:quit(root)).pack()
root.mainloop()

思いますの誤解を辞めの機能Tkinter.この機能を必要とせずご利用頂けを定義する.

まず、必修正機能としており

from Tkinter import *
root = Tk()
Button(root, text="Quit", command=root.quit).pack()
root.mainloop()

それを使用してみてください'.pyw'接尾辞を保存するこのファイルをダブルクリックし、".pyw'ファイルを走行させGUI、このことで、終了することができるGUIをクリックしてボタンも見ることができることはありません不快なDOSウインドウです。(走らせる場合、".py'ファイルの終了機能に失敗します。)

通常の方法による出口がPythonプログラム:

sys.exit()

(でも、終了ステータス)

raise SystemExit

作にTkinterます。

イルミネーションの場合の混乱...

def quit(self):
    self.destroy()
    exit()

A)destroy()に止まる度だけメインループ処を殺害の窓がpython走行

B)出口()を停止し、全体のプロセス

かを明確に場合には誰かに見えdestroy()このOPでも、生まれて初めてつなげながら、どのようにして"終了"をtkinterます。

idlelib.PyShell モジュール root 変数の型 Tk は、次のように定義されますグローバル

PyShell.main() 機能の呼びかけられてい root.mainloop() 機能は無限にループして走行しまでのループを途中で中断による root.quit() 機能です。そのため、 root.quit() み割り込みを実行 mainloop

るために破壊するすべてのウィジェットに関するidlelib画面 root.destroy() ニーズと呼ばれるよう、最後の行の idlelib.PyShell.main() 機能です。

利用できる:

root.destroy()

または

root.quit()

それでも開かない場合は、ポップアップメニューにありがとうご変数のプログラム

import tkinter

main = Tk()

main.destroy()

main.mainloop

最も簡単な方法はいをクリックする赤いボタン(一番左上のmacOS、もっとも右側のWindows).い優先度をつけたい場合には特定の機能のボタンウィジェット、これを実行する事ができます。:

class App:
    def __init__(self, master)
        frame = Tkinter.Frame(master)
        frame.pack()
        self.quit_button = Tkinter.Button(frame, text = 'Quit', command = frame.quit)
        self.quit_button.pack()

または、ことのないよう少し複雑なものとして、利用プロトコルハンドラに destroy() 方法。

import tkMessageBox

def confirmExit():
    if tkMessageBox.askokcancel('Quit', 'Are you sure you want to exit?'):
        root.destroy()
root = Tk()
root.protocol('WM_DELETE_WINDOW', confirmExit)
root.mainloop()

場合には著名な方々を結合するそのエスケープボタンを閉鎖すると全体のGUI:

master = Tk()
master.title("Python")

def close(event):
    sys.exit()

master.bind('<Escape>',close)
master.mainloop()

が必要となりますこのタイプ:

root.destroy()

および必要な時に必要なだけの終了()関数がきセットとしてcommmandで辞めのプログラム。

def quit1():
     root.destroy()

Button(root, text="Quit", command=quit1).pack()
root.mainloop()
import sys
from Tkinter import *
def quit():
    sys.exit()
root = Tk()
Button(root, text="Quit", command=quit).pack()
root.mainloop()

るべきなのは何だと思います。

メニューバー:

def quit():
    root.destroy()

menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)

filemenu.add_separator()

filemenu.add_command(label="Exit", command=quit)
menubar.add_cascade(label="menubarname", menu=filemenu)
root.config(menu=menubar)
root.mainloop()

私は以下のご利用コードの出口Tkinterウィンドウ

from tkinter import*
root=Tk()
root.bind("<Escape>",lambda q:root.destroy())
root.mainloop()

または

from tkinter import*
root=Tk()
Button(root,text="exit",command=root.destroy).pack()
root.mainloop()

または

from tkinter import*
root=Tk()
Button(root,text="quit",command=quit).pack()
root.mainloop()

または

from tkinter import*
root=Tk()
Button(root,text="exit",command=exit).pack()
root.mainloop()

してみてください:

from Tkinter import *
import sys
def exitApp():
    sys.exit()
root = Tk()
Button(root, text="Quit", command=exitApp).pack()
root.mainloop()

います。

    self.parent.destroy() 
    self.parent.quit()

もしかしたら送ルートのようなパラメータフレームだった。だいたい仕上がりです通話はお父さんであり、すべての代わりに閉館の各一。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top