2012-06-14 65 views
1

這說明我有什麼,想:的Python:Tkinter的段落

image showing tkinter layout desired

所以是的,你可以看到我想要一個段落正是紅線。這些按鈕應出現在2個文本框下方。

當前的碼位:

window = Tk() 
window.title("Taschenrechner") 

window.label_zahl1 = Label(window, text = 'Zahl 1:', anchor = W, justify = LEFT) 
window.label_zahl1.pack(side=LEFT) 
window.entry_zahl1 = Entry() 
window.entry_zahl1.pack(side=LEFT) 

window.label = Label(window, text = '\n') 
window.label.pack(side=LEFT) 

window.label_zahl2 = Label(window, text = 'Zahl 2:') 
window.label_zahl2.pack(side=LEFT) 
window.entry_zahl2 = Entry() 
window.entry_zahl2.pack(side=LEFT) 

window.button_plus = Button(window, text = "+") 
window.button_plus.pack(side=LEFT) 

window.button_minus = Button(window, text = "-") 
window.button_minus.pack(side=LEFT) 

window.button_divi = Button(window, text = "/") 
window.button_divi.pack(side=RIGHT) 

window.button_mal = Button(window, text = "*") 
window.button_mal.pack(side=RIGHT) 

window.ausgabe = Label(master = window, text = "")      
window.ausgabe.pack() 
window.mainloop() 
+0

「段落」是什麼意思? Tkinter沒有這樣的概念。你只是問如何排列入口小部件下的按鈕嗎? –

回答

2

對於這個特定的問題,最簡單的辦法是使用grid這將允許以指定每個插件行和列。

另一個簡單的解決方案是用來分隔幀。將標籤和條目放入一個,然後像現在一樣使用pack。然後,在第二個框架中放置h個按鈕,再次以類似的方式使用pack。最後,使用pack將第一幀放在最上面,然後再次使用pack將第二幀放在第一幀之下。

1

我肯定沒有Tkinter的專家,但如果你把四個按鈕到自己的幀(buttons_frame在下面的代碼),然後位置(包)上父窗口底部的框架,那麼我認爲這會把按鈕放在你想要的地方。

from Tkinter import * 

window = Tk() 
window.title("Taschenrechner") 

# create and position a container frame for holding the buttons 
buttons_frame = Frame(window) 
buttons_frame.pack(side=BOTTOM) 

window.label_zahl1 = Label(window, text = 'Zahl 1:', anchor = W, justify = LEFT) 
window.label_zahl1.pack(side=LEFT) 
window.entry_zahl1 = Entry() 
window.entry_zahl1.pack(side=LEFT) 

window.label = Label(window, text = '\n') 
window.label.pack(side=LEFT) 

window.label_zahl2 = Label(window, text = 'Zahl 2:') 
window.label_zahl2.pack(side=LEFT) 
window.entry_zahl2 = Entry() 
window.entry_zahl2.pack(side=LEFT) 

buttons_frame.button_plus = Button(buttons_frame, text = "+") 
buttons_frame.button_plus.pack(side=LEFT) 

buttons_frame.button_minus = Button(buttons_frame, text = "-") 
buttons_frame.button_minus.pack(side=LEFT) 

buttons_frame.button_divi = Button(buttons_frame, text = "/") 
buttons_frame.button_divi.pack(side=RIGHT) 

buttons_frame.button_mal = Button(buttons_frame, text = "*") 
buttons_frame.button_mal.pack(side=RIGHT) 

window.ausgabe = Label(master = window, text = "") 
window.ausgabe.pack() 
window.mainloop()