0

私はゲームを作ろうとしています。ゲームの最後に「あなたは」というウィンドウを表示し、そのウィンドウを閉じると、または制限時間後に別のウィンドウが開き、ここに私が試した文字があります:

def Youare():
        You_are= Toplevel()#I have tried making this Tk() as well
        You_are.geometry('+700+100')
        says = Label(You_are,text ='You are....',font=('Helvetica',74))
        says.pack(side=BOTTOM)
        You_are.mainloop()#If I take this out both windows display at the same time
def Percy():
    Percy= Toplevel()
    Percy.geometry('450x450')
    says = Label(Percy,text ='We were just looking at maps')
    says.pack(side=BOTTOM)
    img = ImageTk.PhotoImage(Image.open('C:/Users/Geekman2/Pictures/Pictures/Percy.jpg'))
    image1 = Label(Percy,image=img)
    image1.pack()
    Percy.mainloop()   
Youare()
Percy()

Youare をメインループで実行すると、Percy() はマスター ウィンドウが閉じるまで実行されません。メインループなしで実行すると、両方が同時に表示されるため、サスペンスがなくなります。私は何を間違っていますか?

4

1 に答える 1

1

いくつかのメインループを呼び出さないようにする通常の方法は、次のようにすることです

def Youare(master):
    You_are = Toplevel(master)
    #...

master = Tk()
Youare(master)
master.mainloop()

次に、最初のウィンドウでアクションをバインドする必要があります。これらの回答をご覧ください。

于 2012-10-25T05:41:12.903 に答える