我正在嘗試創建一個運行兩個命令的 Tkinter 按鈕,一個是主要功能,另一個是在按下按鈕時更新標簽。我已經能夠讓它同時運行這兩個功能,但它不會更新標簽。對這個問題有什么建議嗎?我已經包含了我嘗試過的代碼。先感謝您。
from tkinter import *
from tkinter import ttk
csv_team_count = 0
team_spaces_left = 4 - csv_team_count
def add_a_team():
print("testing")
global csv_team_count
csv_team_count = 1
root = Tk()
root.title("Sports Event Organiser!")
root.geometry("600x500")
my_notebook = ttk.Notebook(root)
my_notebook.pack()
#creates frames for the notebook.
frame1_overview = Frame(my_notebook, width=600, height=500, bg="#5797ff")
frame2_teams = Frame(my_notebook, width=600, height=500, bg="#5797ff")
frame1_overview.pack(fill="both", expand=0,)
frame2_teams.pack(fill="both", expand=0)
my_notebook.add(frame1_overview, text="Overview",)
my_notebook.add(frame2_teams, text="Teams")
teams_updater_var = StringVar()
teams_updater_var.set("Spaces Left: " str(team_spaces_left))
def teams_updater():
teams_updater_var.set("Spaces Left: " str(team_spaces_left))
def combined_TeamS_addT():
teams_updater()
add_a_team()
label_team_spaces_left = Label(frame2_teams,
textvariable=teams_updater_var,
font=('Helvatical bold',15),
bg="#5797ff",
fg="white",
).pack(pady = 5)
button_team_add = Button(frame2_teams,
text="Add A Team",
bg="white",
height = 1,
command=(combined_TeamS_addT)
).pack(pady = 10)
root.mainloop()
uj5u.com熱心網友回復:
更新代碼:
from tkinter import *
from tkinter import ttk
csv_team_count = 0
team_spaces_left = 4 - csv_team_count
def add_a_team():
global csv_team_count
csv_team_count = 1
print("testing")
root = Tk()
root.title("Sports Event Organiser!")
root.geometry("600x500")
my_notebook = ttk.Notebook(root)
my_notebook.pack()
#creates frames for the notebook.
frame1_overview = Frame(my_notebook, width=600, height=500, bg="#5797ff")
frame2_teams = Frame(my_notebook, width=600, height=500, bg="#5797ff")
frame1_overview.pack(fill="both", expand=0,)
frame2_teams.pack(fill="both", expand=0)
my_notebook.add(frame1_overview, text="Overview",)
my_notebook.add(frame2_teams, text="Teams")
teams_updater_var = StringVar()
teams_updater_var.set("Spaces Left: " str(team_spaces_left))
def teams_updater():
global team_spaces_left
if 0 < team_spaces_left <= 4:
team_spaces_left = 4 - csv_team_count
else:
team_spaces_left = 0
teams_updater_var.set("Spaces Left: " str(team_spaces_left))
def combined_TeamS_addT():
add_a_team()
teams_updater()
label_team_spaces_left = Label(frame2_teams,
textvariable=teams_updater_var,
font=('Helvatical bold',15),
bg="#5797ff",
fg="white",
).pack(pady = 5)
button_team_add = Button(frame2_teams,
text="Add A Team",
bg="white",
height = 1,
command=(combined_TeamS_addT)
).pack(pady = 10)
root.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/446460.html
