2016-04-10 26 views
0

私はスクールプロジェクトとしてGUIをプログラミングしようとしていますが、ゲームのスコアを表示するプログラムになります。私は2つのウィンドウを持っています.1つはポイントを追加し、もう1つはスコアを表示します。しかし、私はその2つを相互作用させることはできません。助けてください !最初のウィンドウのメインループは、最初のウィンドウが破棄されるまで実行されているから、他のウィンドウを停止しているためであるPython 2.7 Tkinterの更新ウィンドウ

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() 

答えて

0

: は、ここに私の(長い)コードです。 Tkinterもメインスレッドで実行する必要があるため、ウィンドウのメインループをスレッド化することはできません。 ちょうど1つのウィンドウを持ち、スコアを上に置くことをお勧めします。

+0

ありがとうございますが、2つのウィンドウを持つ方法はありますか? (私はあなたの技術を試してみましょう= D) – Noe

関連する問題