2017-04-18 63 views
1

所以我正在製造小行星,它處於早期階段。我有一個按鈕,但命令函數不會調用同一類中的函數。這裏是代碼:在一個不起作用的按鈕中調用一個命令

class parentWindow(): 

def play(self,master): 
    print("PARTY") 

def __init__(self,master): 
    self.master=master 
    self.master.title("Asteroids") 

    self.background_image = PhotoImage(file = "Stars.gif") 
    self.canvas = Canvas(self.master, width = 1920, height = 1080, bg = "black") 
    self.canvas.image = self.background_image 
    self.canvas.pack(expand = YES, fill = "both") 

    self.canvas.create_image(0,0, image= self.background_image, anchor = NW) 

    label1 = Label(text="ASTEROIDS", fg="white", bg="black", height=3, width=10) 
    label1.config(font=("arcadeclassic", 50)) 
    label1.place(x=775, y=200) 

    button1 = Button(text = "Play", command= play) 
    button1.place(x=900, y=600) 

當我運行這個(和其他)時,我迎接「播放未定義」。謝謝您的幫助!

+0

您的縮進似乎已損壞。 'play'和'__init__'需要在'class'語句中縮進。 –

回答

1

您需要使用全名:

button1 = Button(text = "Play", command=self.play) 

這本身就會給你一個新的錯誤,因爲「玩」需要一個「大師」的說法。您需要將播放功能更改爲只需要一個參數:

def play(self): 
    print("PARTY") 
相關問題