4

私はTkinterにとても慣れていません。この「HelloWorld」のようなGUIプログラムをTkinterで作成しました。ただし、終了ボタンをクリックするたびに、プログラムがクラッシュします。前もって感謝します!

from Tkinter import *
import sys
class Application(Frame):

def __init__(self,master=None):

    Frame.__init__(self,master=None)
    self.grid()
    self.createWidgets()

def createWidgets(self):
    self.quitButton = Button(text='Quit',command=self.quit)#Problem here
    self.quitButton.grid()
app = Application()
app.master.title("Sample application")
app.mainloop()
4

5 に答える 5

4

Tkinterでは、ルート要素はTkオブジェクトです。Applicationのサブクラスである必要があります:でTkはありませんFrame

from Tkinter import *
import sys

class Application(Tk):
    def __init__(self):
        Tk.__init__(self)
        self.grid()
        self.createWidgets()
    def createWidgets(self):
        self.quitButton = Button(text='Quit',command=self.destroy) # Use destroy instead of quit
        self.quitButton.grid()

app = Application()
app.title("Sample application")
app.mainloop()
于 2013-03-10T14:56:31.717 に答える
0

Python インタープリターを使用する self.quit()と、tkinter アプリケーション bieng を閉じずに閉じます。.destroy()コマンドを試してから.mainloop()使用してsys.quit()ください。お役に立てれば。

于 2017-07-20T08:21:02.827 に答える