-1
我有一段代碼,一個餅乾裏面唱首歌,但是當我試圖把它在一個類中這是行不通的,給我這個錯誤如何使一個按鈕,一類
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Travi\AppData\Local\Programs\Python\Python36-
32\lib\tkinter\__init__.py", line 1699, in __call__
return self.func(*args)
TypeError: click() missing 1 required positional argument: 'self'
我不明白爲什麼它不工作 我的代碼如下
from tkinter import*
import os
root = Tk()
class Main():
os.chdir('C:\\Users\\Travi\\Downloads')
cookies = 0
grandmas =0
gmaprice = 10
cookiesIcon = Label(root,text = "Cookies you have:"+str(cookies))
cookiesIcon.grid(row = 1,column = 0)
gma = Label(root,text = "Grandmas you have:"+str(grandmas))
gma.grid(row = 0, column = 1)
def click(self):
global cookies,cookiesIcon
cookies+=1
cookiesIcon.config(text = "Cookies you have:"+str(cookies))
def grandma(self):
global cookies,grandmas,cookiesIcon,gma,gmaprice
if cookies>gmaprice:
grandmas+=1
cookies-=gmaprice
gmaprice+=5
cookies.config(text = "Cookies you have:"+str(cookies))
gma.config(text = "Grandmas you have:"+str(grandmas))
photo=PhotoImage(file = "Cookies.gif")
b = Button(root,command =click)
b.config(image=photo)
b.grid()
gmaupgrade=Button(root,command =grandma,text = "Grandmas for sale")
gmaupgrade.grid(column = 1, row = 1)
root.mainloop()
我想你應該更多地考慮在你嘗試在類中實現一個按鈕之前,類是如何工作的(使用'__init__'方法,引用'self'來代替'global'等變量管理')。 – SneakyTurtle
'命令= self.click' –
偷偷摸摸的烏龜,我告訴你,這就是我正在試圖通過創建這個,而布賴恩,我試過了,但它給了我自己沒有定義的錯誤 – Travis