我不久前才开始使用类,并且在以下问题上苦苦挣扎
问题(一旦我单击按钮将标签从0更改为1,就会出现此错误):
。
Tkinter回调中的异常
追溯(最近一次通话):
调用中的文件“ C:\ Users \ patht \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ tkinter__init __。py”,行1883
返回self.func(* args)
TypeError:increment1()缺少1个必需的位置参数:“ self”
。
码: 。
模组
导入tkinter
从tkinter导入*
从PIL导入Image,ImageTk
Item_Set类:
def init(self,root,text1,text2,text3,x,y,img,img2,img3):
self.canvas =画布(宽度= 400,高度= 130)
self.x = x
self.y = y
#
self.widget1 =标签(root,text = text1,font =(“ Courier”,10))
self.image1 = PhotoImage(文件= img)
self.button_i = Button(root,文本=“ +”,fg =“ blue”,font =(“ Courier”,6),command = Item_Set.increment1)
self.button_d =按钮(root,text =“-”,fg =“ red”,font =(“ Courier”,6))
self.num1 = 0
self.widget_num1 =标签(root,文本= str(self.num1),font =(“ Courier”,12))
#
self.widget2 =标签(root,text = text2,font =(“ Courier”,10))
self.image2 = PhotoImage(文件= img2)
self.button_i2 =按钮(root,text =“ +”,fg =“ blue”,font =(“ Courier”,6))
self.button_d2 =按钮(root,text =“-”,fg =“ red”,font =(“ Courier”,6))
self.num2 = 0
self.widget_num2 =标签(root,text = str(self.num2),font =(“ Courier”,12))
#
self.widget3 =标签(root,text = text3,font =(“ Courier”,10))
self.image3 = PhotoImage(文件= img3)
self.button_i3 =按钮(root,text =“ +”,fg =“ blue”,font =(“ Courier”,6))
self.button_d3 =按钮(root,text =“-”,fg =“ red”,font =(“ Courier”,6))
self.num3 = 0
self.widget_num3 =标签(root,text = str(self.num3),font =(“ Courier”,12))
def start(self):
self.canvas.pack(展开=是,填充=两者)
#
self.canvas.create_window(self.x,self.y,window = self.widget1)
self.canvas.create_image(self.x,self.y + 34,image = self.image1)
self.canvas.create_window(self.x + 15,self.y + 65,window = self.button_i)
self.canvas.create_window(self.x-22,self.y + 65,window = self.button_d)
self.canvas.create_window(self.x-2,self.y + 65,window = self.widget_num1)
#
self.canvas.create_window(self.x + 150,self.y,window = self.widget2)
self.canvas.create_image(self.x + 150,self.y + 34,image = self.image2)
self.canvas.create_window(self.x + 165,self.y + 65,window = self.button_i2)
self.canvas.create_window(self.x + 128,self.y + 65,window = self.button_d2)
self.canvas.create_window(self.x + 148,self.y + 65,window = self.widget_num2)
#
self.canvas.create_window(self.x + 300,self.y,window = self.widget3)
self.canvas.create_image(self.x + 300,self.y + 34,image = self.image3)
self.canvas.create_window(self.x + 315,self.y + 65,window = self.button_i3)
self.canvas.create_window(self.x + 278,self.y + 65,window = self.button_d3)
self.canvas.create_window(self.x + 298,self.y + 65,window = self.widget_num3)
def增量1(自我):
self.num1 + = 1
self.widget_num1.config(text = str(self.num1))
根= Tk()
root.title('死了7天->物品')
item_set_1 = Item_Set(根,'子弹','蓝莓','鸡蛋',40,30,'img1.png','img2.png','img3.png')
item_set_1.start()
item_set_2 = Item_Set(root,'bullet','blueberries','eggs',40,30,'img1.png','img2.png','img3.png')
item_set_2.start()
item_set_3 = Item_Set(根,'子弹','蓝莓','鸡蛋',40,30,'img1.png','img2.png','img3.png')
item_set_3.start()
root.mainloop()
。
输出:--Image--
注意:我正在研究,但找不到答案。
........从现在开始........