我试图编程一个图形用户界面作为一个学校的项目,这将是一个程序,显示游戏分数。我会有两个窗口,一个可以加分,一个可以显示分数。然而,我无法使两者相互作用。请帮帮我! 以下是我的(长)代码:
from tkinter import *
import pickle
##PICKLE##
gd = {"t1" : 0,"t2" : 0}
#######FUNCTIONS######
def t11():
gd["t1"] += 10
def t12():
gd["t1"] += 20
def t13():
gd["t1"] += 30
def t14():
gd["t2"] -= 10
def t21():
gd["t2"] += 10
def t22():
gd["t2"] += 20
def t23():
gd["t2"] += 30
def t24():
gd["t2"] -= 10
####UNVARIABLES####
while 1==1:
tk = Tk()
tk.configure(background="#a1dbcd")
lbl = Label(tk, text="Team1",fg="red",bg="#a1dbcd",font=("Comicsans", 60))
lbl.grid(row=0, column=0)
lbl_ = Label(tk, text=" ",bg="#a1dbcd",font=("Helvetica", 40)).grid(row=0,column=1)
lbl2 = Label(tk, text="Team2",fg="blue",bg="#a1dbcd",font=("Helvetica", 60))
lbl2.grid(row=0, column=2)
master = Tk()
#####VARIABLES#####
lbb1 = Label(tk, textvariable=gd["t1"], fg="orange",bg="#a1dbcd",fon=("jjj",70))
lbb1.grid(row=1, column=0)
lbb2 = Label(tk, textvariable=gd["t2"], fg="orange",bg="#a1dbcd",fon=("jjj",70))
lbb2.grid(row=1, column=2)
##T1##T2#
l= Label(master, text='Team1')
b= Button(master, text='ADD 10 to T1', command=t11)
b2= Button(master, text='ADD 20 to T1', command=t12)
b3= Button(master, text='ADD 30 to T1', command=t13)
b4= Button(master, text='REMOVE 10 to T1',fg="red", command=t14)
ll= Label(master, text='Team2')
bb= Button(master, text='ADD 10 to T2', command=t21)
bb2= Button(master, text='ADD 20 to T2', command=t22)
bb3= Button(master, text='ADD 30 to T2', command=t23)
bb4= Button(master, text='REMOVE 10 to T1',fg="red", command=t24)
b.grid(row=1, column=1)
b2.grid(row=2, column=1)
b3.grid(row=3, column=1)
b4.grid(row=4, column=1)
l.grid(row=0, column=1)
bb.grid(row=1, column=3)
bb2.grid(row=2, column=3)
bb3.grid(row=3, column=3)
bb4.grid(row=4, column=3)
ll.grid(row=0, column=3)
######MAINLOOPS####
tk.mainloop()
master.mainloop()
这是因为第一个窗口的主循环正在阻止另一个窗口运行,直到第一个窗口被销毁。 Tkinter还必须在主线程中运行,因此不能对窗口的主循环执行线程。 我建议只开一个窗口,把分数放在最上面。你知道吗
相关问题 更多 >
编程相关推荐