我有這個代碼,我試圖擁有它,所以我只能按一次按鈕,然后它就會被禁用,但我一直收到錯誤TypeError: 'NoneType' object is not subscriptable,我不太確定我做錯了什么。任何幫助表示贊賞。這是我的代碼:
import tkinter as tk
from tkinter import *
from tkinter import ttk
team_array = []
team_dict = {}
def score_event1_team():
global team_array
global team_dict
#First Event, 1st Team, Adding 15 points.
event1T = str(input("What team was first place?"))
#ADDING 15 POINTS TO FIRST TEAM IN THE DICTIONARY WITH GET METHOD.
team_dict[event1T] = team_dict.get(event1T, 0) 15
print(team_dict)
print(f"Team {event1T} has been added 15 points.")
if (button_event_1['state'] == NORMAL):
button_event_1['state'] = DISABLED
root = Tk()
root.title("Sports Event Organiser!")
root.geometry("600x500")
button_event_1 = Button(root,
text="Event Pending",
bg="white",
height = 1,
command=(score_event1_team),
state = NORMAL,
).pack(pady = 10)
root.mainloop()
uj5u.com熱心網友回復:
問題出在您的以下代碼段中,您正在其中創建一個按鈕
button_event_1 = Button(root,
text="Event Pending",
bg="white",
height = 1,
command=(score_event1_team),
state = NORMAL,
).pack(pady = 10)
您正在pack(pady = 10)立即呼叫按鈕,因為您的button_event_1物件不是指該按鈕,而是由回傳的 Nonepack()
解決方法很簡單,把它從那里移除,然后單獨打包按鈕,在按鈕初始化之后
button_event_1 = Button(root,
text="Event Pending",
bg="white",
height = 1,
command=(score_event1_team),
state = NORMAL,
)
button_event_1.pack()
uj5u.com熱心網友回復:
你做錯的事情是這一行 button_event_1 = Button(....).pack() 當你用按鈕打包它并且 pack 回傳一個你需要做的非型別物件 button_event_1 = Button(....) 和比 button_event_1.pack() 都在單獨的行中。pack 函式回傳一個無型別物件,因此在您的問題中 button_event_1 是 None
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/462076.html
