2011-04-01 18 views
0

我將如何傳遞變量 「跳格」 從NewsTabs.py到GUI.py和有它在GUI.py通多行的變量

運行GUI.py

from Tkinter import * 
from notebook import * 
import NewsFeed 
import NewsTabs 

root = Tk() 
n = notebook(root, TOP) 

f1 = Frame(n()) 

NewsTabs.Tabs 

f2 = Frame(n()) 
lable1 = Label(f2, text="Pre Alpha! \n Version 0.0.0.1 \n Fourms not yet implemented") 
lable1.grid(row=1,column=1) 

n.add_screen(f1, "News") 
n.add_screen(f2, "Fourms") 

frame = Frame(width=max, height=max, bg="white") 
frame.pack() 
root.title('RazeTheWorld') 

root.mainloop() 

NewsTabs.py

Tabbing = { 
w = Button(f1, text="Main", bd=0, bg="white") 
w.grid(row=0,column=1, sticky = W) 
w1 = Button(f1, text="News", bd=0, bg="white") 
w1.grid(row=1,column=1, sticky = W) 
w2 = Button(f1, text="VideoReview", bd=0, bg="white") 
w2.grid(row=2,column=1, sticky = W) 
w3 = Button(f1, text="VideoNews", bd=0, bg="white") 
w3.grid(row=3,column=1, sticky = W) 
w4 = Button(f1, text="VideoGameplay", bd=0, bg="white") 
w4.grid(row=4,column=1, sticky = W) 
w5 = Button(f1, text="Hardware", bd=0, bg="white") 
w5.grid(row=5,column=1, sticky = W) 
w6 = Button(f1, text="CPU", bd=0, bg="white") 
w6.grid(row=6,column=1, sticky = W) 
w7 = Button(f1, text="Grapics", bd=0, bg="white") 
w7.grid(row=7,column=1, sticky = W) 
} 

def Tabs(): 
    return Tabbing 

回答

0

在任何其他的源文件(在你的情況,很可能GUI.py):

import NewsTabs 

tabs = NewsTabs.Tabs() 

或:

import NewsTabs 
tabs = NewsTabs.tabbing 

如果NewsTab確實第一將是有用的具有恆定值。

請注意,您的變量Tabbing不是有效的Python。你需要把大括號內的所有代碼放在外面;那麼,你想使你創建的對象的列表:

tabbing = [w, w1, w2, w3, w4, w5, w6, w7] 
+0

在NewsTabs我得到這個錯誤 回溯(最近通話最後一個): 文件「C:\用戶\ Manraj \桌面\ RTWPROJECT0。 0.0.1 \ NewsTabs.py「,第3行,在 Tabbing = w = Button(f1,text =」Main「,bd = 0,bg =」white「) NameError:name'Button'is not defined – Freeloader 2011-04-01 23:05:34

+0

@Freeloader是因爲你從未將Tkinter導入到GUI.py中。請注意,整個事情是無效的Python。我解釋了爲什麼在我的答案。 – 2011-04-01 23:08:08