0

Tkinter でウィンドウを作成したい。このウィンドウにはボタンが必要です。ボタンを押すと、2 番目のウィンドウが表示されます (最初のウィンドウは消えません)。

短縮されたコード:

from Tkinter import *
from modules.startingKit.highscore import Highscore


class OptionWindow:

    def __init__(self):
        self.master = Tk() 
        self.b4 = Button(self.master, text = "display Highscores", command = self.display()).grid(row=0, sticky = W)
    mainloop()



    def display(self):
        myWin = Toplevel()

さて、2 番目のウィンドウが表示されますが、ボタンを押す前です。これを変更できますか

4

1 に答える 1

6

command属性は関数への参照取ります。を実行すると、関数command=self.display()呼び出さcommandれ、結果が属性に渡されます。

修正は、括弧を省略することです。

self.b4 = Button(..., command=self.display, ...)
于 2013-03-22T22:14:22.867 に答える