我不知道为什么会这样但是root = Label(master,text =(click))有问题Label.pack ()
但是基本上这个程序做的很简单它只是一个点击游戏,其他的都可以工作只是当我试图添加一个计数器来计算用户点击了多少次它不起作用
from tkinter import *
import time
from tkinter import messagebox
master = Tk()
def uiPrint():
info()
print("")
print(click)
blankLine()
Label_1 = Label(text = "Double click purchases need 50 clicks!")
Label_1.pack()
click = 0
mult = 1
dcp1 = 0
def blankLine():
for i in range(20):
print("")
def purchaseDoubleClicksCommand():
global click
global mult
if click < 50:
messagebox.showinfo("showinfo", "Not enough clicks!")
elif click >= 5:
mult = mult+1
click = click - 50
messagebox.showinfo("showinfo", "Double Clicks Purchased!")
def buttonCommand():
global click
global mult
click += 1*(mult)
root = Label(master,text =(click))
Label.pack()
mainClickButton = Button(master, text="Click!", command = buttonCommand)
mainClickButton.pack()
purchaseDoubleClickButton = Button(master, text="Purchase Double Clicks", command = purchaseDoubleClicksCommand)
purchaseDoubleClickButton.pack()
master.title("Clicker!")
master.geometry("%sx%s+%s+%s" % (400,100,512,512))
mainloop()
似乎你正在调用一个没有活动实例的实例方法:
Label.pack()
这只适用于那些可以从类本身调用并且不需要活动实例/对象的方法,例如用@classmethod
和@staticmethod
装饰的方法。因此将其更改为:
root.pack()
对于实例root
,self
参数将自动作为第一个参数传递,它引用root
对象本身。
使用root.pack()代替Label.pack()