我一直在試圖爲我定義的測試程序創建一個小的GUI。我的GUI需要看起來像這樣:在Tkinter GUI中排列小部件
Word: # label, then entry widget
Definition: # label, entry widget
Part of Speech: # label, then entry widget
Go Quit # each are buttons
這是我到目前爲止有:
from Tkinter import *
class GetWord:
def __init__(self, master):
self.frame = Frame(master)
self.frame.pack()
self.wordL = Label(self.frame, text = 'Word: ')
self.wordL.pack(side = 'left')
self.wordE = Entry(self.frame)
self.wordE.pack(side = 'right', after=self.wordL)
self.defL = Label(self.frame, text = 'Definitions: ')
self.defL.pack(side = 'left', after=self.wordE)
self.defE = Entry(self.frame)
self.defE.pack(side = 'right', after=self.defL)
self.posL = Label(self.frame, text = 'Part of Speech: ')
self.posL.pack(side = 'left', after=self.defE)
self.posE = Entry(self.frame)
self.posE.pack(side = 'right', after=self.posL)
self.buttonE = Button(self.frame, text = 'Go', command = self.getInfo)
self.buttonE.pack(side='bottom', after=self.posE)
self.quitB = Button(self.frame, text = 'Quit', fg = 'red', command = self.frame.quit)
self.quitB.pack(side='bottom', after=self.buttonE)
def getInfo(self):
print self.wordE.get(), self.defE.get(), self.posE.get()
root = Tk()
f = GetWord(root)
root.mainloop()
然而,他們不用排隊。如何將它們分別作爲'行'關聯(一個標籤,每個'行'一個條目,以及兩個按鈕的最終'行')/
另外,我不確定這部分是如何工作的:
root = Tk()
f = GetWord(root)
root.mainloop()
root
不直接引用GetWord
類,所以我不知道它是如何工作的。如果有人能向我解釋這個,那會很棒。謝謝!
謝謝!我還爲你添加了第二個答案。 – 2013-02-17 03:46:10
@ F3AR3DLEGEND很高興能幫到你。除了包和網格之外,還有第三個選項,稱爲地點,但是我還沒有使用它,因爲a)我不需要它,並且b)網格完成了我想要的一切,組織起來 – erdekhayser 2013-02-17 03:51:34