运行程序时,它会启动,但会刷新写在Buttonautoclicker2buy
上的文本,该文本应在调用函数buyautoclicker2
时更新:
Buttonautoclicker2buy.config(text=autoclicker2price)
,但是文本没有改变,最后我得到了这个错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Jérôme\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1884, in __call__
return self.func(*args)
File "C:\Users\Jérôme\PycharmProjects\Tkinter\Coins counter.py", line 85, in buyautoclicker2
Buttonautoclicker2buy.config(text=autoclicker2price)
AttributeError: 'NoneType' object has no attribute 'config'
以下是全部代码:
from tkinter import *
from numerize import numerize
from functools import partial
window=Tk()
window.geometry("1920x1080")
window.title("COINZ CLICKER")
window.iconbitmap("coin.ico")
window.config(background="#7693c2")
#color : Blue1(main interface) = #7693c2
#color : Blue2(shop interface) = #93aacf
#color : Blue3(shop text) = #748cb3
#color : Blue4 =
convertedcoin = 0
coin = 12038
current_window = None
def convert_str_to_number(x):
convertedcoin = numerize.numerize(x)
return (convertedcoin)
def addcoin(x):
global coin
coin += x
convert_str_to_number(coin)
label.config(text=coin)
# AUTOCLICKER 1 FUNCTIONS-----------------------------------------------------------------------------------------------
autoclicker1price = 100
Buttonautoclicker1buy = None
autoclickerimage = PhotoImage(file="cursor.png").zoom(3).subsample(30)
autoclicker1 = 0
def buyautoclicker1():
global coin
global autoclicker1
global autoclicker1price
global Buttonautoclicker1buy
if coin >= autoclicker1price:
addcoin(-autoclicker1price)
label.config(text=coin)
autoclicker1 += 1
startautoclicker1()
autoclicker1price=augmentprice(autoclicker1price)
Buttonautoclicker1buy.config(text=autoclicker1price)
def autoclicker1loop():
window.after(500, autoclicker1loop)
addcoin(1)
def startautoclicker1():
global coin
if autoclicker1 > 0:
autoclicker1loop()
# AUTOCLICKER 2 FUNCTIONS ----------------------------------------------------------------------------------------------
autoclicker2price = 10000
Buttonautoclicker2buy = None
autoclicker2image = PhotoImage(file="AUTOCLICKER_tier2.png").zoom(3).subsample(20)
autoclicker2 = 0
def buyautoclicker2():
global coin
global autoclicker2
global autoclicker2price
global Buttonautoclicker2buy
if coin >= autoclicker2price:
addcoin(-autoclicker2price)
label.config(text=coin)
autoclicker2 += 1
startautoclicker2()
autoclicker2price=augmentprice(autoclicker2price)
Buttonautoclicker2buy.config(text=autoclicker2price)
def autoclicker2loop():
window.after(100, autoclicker2loop)
addcoin(1)
def startautoclicker2():
global coin
if autoclicker2 > 0:
autoclicker2loop()
# FUNCTION AUGMENT PRICE------------------------------------------------------------------------------------------------
def augmentprice(x):
global autoclicker2price
x= int(x*1.7)
return(x)
# SHOP =================================================================================================================
def openshop():
# GLOBAL VARIABLES -------------------------------------------------------------------------------------------------
global autoclicker1price
global coin
global autoclickerimage
global CoinImage3
global current_window
global Buttonautoclicker1buy
# DEFINITION OF THE SHOP -------------------------------------------------------------------------------------------
if current_window is not None:
current_window.destroy()
Shop = Toplevel()
Shop.geometry("1250x750")
Shop.geometry("+650+150")
Shop.title("SHOP")
Shop.iconbitmap("shop.ico")
Shop.config(background="#93aacf")
Shop.overrideredirect(0)
current_window = Shop
# MAIN FRAMES ------------------------------------------------------------------------------------------------------
botframe = Frame(Shop, bg="#93aacf")
botframe.grid(sticky="w",column=0,row=1)
toptitleFrame = Frame(Shop,bg="#93aacf")
toptitleFrame.grid(column=0, row=0)
# AUTOCLICKER 1 ----------------------------------------------------------------------------------------------------
# frame
autoclicker1Frame = Frame(botframe, bg="#93aacf")
autoclicker1Frame.grid(sticky="w", column=0, row=0, pady=(30, 20), padx=30)
# canvas
autoclicker1canvas = Canvas(autoclicker1Frame,width=80, height=80,bg="#7693c2",highlightthickness=1,bd=2)
autoclicker1canvas.grid()
autoclicker1canvas.create_image(40,45, image=autoclickerimage)
# label
autoclicker1label = Label(autoclicker1Frame,text="AUTO CLICKER",bg="#748cb3",font=("ASI_System",15,"bold"))
autoclicker1labelunderline = Label(autoclicker1Frame, text="2 CPS", bg="#748cb3", font=("ASI_System", 15, "underline"))
autoclicker1label.grid(pady=(5,0))
autoclicker1labelunderline.grid()
# button
Buttonautoclicker1buy = Button(autoclicker1Frame, width=80, height=40, text=autoclicker1price, bg="#7693c2"
, command= buyautoclicker1, state= "normal", image=CoinImage3, compound="right", font=("ASI_System",20))
Buttonautoclicker1buy.grid(pady=(10, 0))
Buttonautoclicker1buy.config(state="normal")
# SHOP TITLE -------------------------------------------------------------------------------------------------------
shoptitlelabel = Label(toptitleFrame, text="SHOP", bg="#93aacf", font=("ASI_System", 25, "underline"))
shoptitlelabel.grid(padx=600, sticky="n")
# AUTOCLICKER 2 ----------------------------------------------------------------------------------------------------
# frame
autoclicker2frame = Frame(botframe,bg="#93aacf")
autoclicker2frame.grid(column=1,row=0,pady=(30,20),padx=(30))
# canvas
autoclicker2canvas = Canvas(autoclicker2frame, width=80, height=80, bg="#7693c2", highlightthickness=1, bd=2)
autoclicker2canvas.grid()
autoclicker2canvas.create_image(40, 45, image=autoclicker2image)
# label
autoclicker2label = Label(autoclicker2frame, text="AUTO CLICKER", bg="#748cb3", font=("ASI_System", 15, "bold"))
autoclicker2labelunderline = Label(autoclicker2frame, text="10 CPS", bg="#748cb3",
font=("ASI_System", 15, "underline"))
autoclicker2label.grid(pady=(5, 0))
autoclicker2labelunderline.grid()
# button
Buttonautoclicker2buy = Button(autoclicker2frame, width=80, height=40, text=autoclicker2price, bg="#7693c2"
, command=buyautoclicker2, state="normal", image=CoinImage3, compound="right",
font=("ASI_System", 20))
Buttonautoclicker2buy.grid(pady=(10, 0))
Buttonautoclicker2buy.config(state="normal")
clickermain = Frame(window,bg="#7693c2")
mainframe1 = Frame(clickermain,bg="#7693c3",padx=10,pady=10)
mainframe2 = Frame(clickermain,bg="#7693c2", padx=10,pady=10 )
#iteminventoryframe = Frame(window,bg="#7693c2")
#color : lightblue
openshopframe = Frame(window, bg="#93aacf")
ShopImage = PhotoImage(file="icons8-boutique-64.png")
openshopbutton = Button(openshopframe,image=ShopImage, bg="#93aacf",command= openshop)
openshopbutton.grid()
CoinImage = PhotoImage(file="coin.png").zoom(10).subsample(13)
CoinImage2 = PhotoImage(file="coin.png").zoom(10).subsample(60)
CoinImage3 = PhotoImage(file="coin.png").zoom(5).subsample(100)
AddCoinButton = Button(mainframe1, borderwidth= 30, image=CoinImage, bg="#93aacf", command=partial(addcoin,1))
AddCoinButton.grid(column= 0, row=0 ,padx=180,pady=40)
canvas = Canvas(mainframe2, width = 100, height= 100, bg="#7693c2", bd=0, highlightthickness=0 )
canvas.create_image(50,50, image = CoinImage2)
canvas.grid(column=0,row=0)
label = Label(mainframe2, text=coin,bg="#7693c2",font=("ASI_System",50))
label.grid(column=1,row=0)
clickermain.grid(pady=150)
mainframe1.grid(column=0,row=0)
mainframe2.grid(padx=200,column=0,row=1,sticky="w")
#iteminventoryframe.grid(column=1,row=1)
openshopframe.grid(column=1,row=0,sticky="n",pady=100)
window.mainloop()
目前没有回答
相关问题 更多 >
编程相关推荐