0
from openpyxl import *
from tkinter import *
def inputGetter(str):
print(str, end="")
return input()
class StartPage(Frame):
global app
def say_hi(self):
test = SecondPage(master=root)
app.destroy()
test.mainloop()
def createWidgets(self):
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.QUIT.pack({"side": "left"})
self.hi_there = Button(self)
self.hi_there["text"] = "Hello",
self.hi_there["command"] = self.say_hi
self.hi_there.pack({"side": "left"})
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
class SecondPage(Frame):
global app
def say_hi(self):
print('test')
def createWidgets(self):
self.QUIT2 = Button(self)
self.QUIT2["text"] = "QUIT2"
self.QUIT2["fg"] = "red"
self.QUIT2["command"] = self.quit
self.QUIT2.pack({"side": "left"})
self.hi_there = Button(self)
self.hi_there["text"] = "Second",
self.hi_there["command"] = self.say_hi
self.hi_there.pack({"side": "left"})
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = StartPage(master=root)
app.mainloop()
root.destroy()
私はQUITウィジェットを押すと何らかの理由で動作しますが、SecondPageクラスにあるQUIT2ウィジェットは2回クリックする必要があります。これを行うコードに何が間違っていますか?なぜtkinter QUIT2ウィジェットを起動するには2回押す必要がありますか?
歓声、マルク・
一般的には、tkinterプログラムでは 'mainloop()'を正確に1回呼び出す必要があります。 –