我正在嘗試使用.grid()來製作tkinter佈局。我的所有按鈕都對齊在左側,我想在右側放置一個文本框。問題是,當我嘗試這樣做時,會弄亂左邊的按鈕。我試圖使用多個框架,但它似乎不工作。有任何想法嗎?Python Tkinter佈局問題
0
A
回答
3
的瞭解網格幾何管理中最重要的事情之一是columnspan
和rowspan
關鍵字:
import Tkinter as tk
root = tk.Tk()
buttons = [tk.Button(root,text=str(i)) for i in range(6)]
for i,b in enumerate(buttons):
b.grid(row=i,column=0)
textbox = tk.Text(root)
textbox.grid(row=0,column=1,rowspan=6)
root.mainloop()
注意的是,這裏的典型用法是使用具有正確的columnspan
和rowspan
網格化一個Frame
。然後你可以使用它來管理數據。以上面我所另一種方法是使用一個Frame
容納所有按鈕,然後電網Text
小部件就在旁邊:
import Tkinter as tk
root = tk.Tk()
frame = tk.Frame(root)
frame.grid(row=0,column=0)
buttons = [tk.Button(frame,text=str(i)) for i in range(6)]
for i,b in enumerate(buttons):
b.grid(row=i,column=0)
textbox = tk.Text(root)
textbox.grid(row=0,column=1)
root.mainloop()
2
如果您使用的是網格幾何管理器,它是沒有必要的將幀用於2列布局。您可以使用rowspan
來調整文本窗口小部件的高度爲按鈕數量:
from Tkinter import *
root = Tk()
N = 5
for i in range(N):
Button(root, text="Button %s" % i).grid(row=i, column=0, padx=5)
Text(root, width=30).grid(row=0, column=1, rowspan=N, padx=5)
root.mainloop()
相關問題
- 1. Tkinter(Python)佈局問題
- 2. Tkinter佈局問題
- 3. Python tkinter網格佈局問題
- 4. Tkinter的佈局問題
- 5. Python Tkinter佈局管理
- 6. Python tkinter問題
- 7. Tkinter畫布問題
- 8. Python Tkinter StringVar()問題
- 9. Tkinter python GUI問題
- 10. 佈局問題
- 11. 佈局問題
- 12. 佈局問題
- 13. 佈局問題
- 14. 畫布滾動問題tkinter
- 15. Python Tkinter佈局管理與網格
- 16. 在Tkinter中格式化網格佈局時出現問題
- 17. Python Tkinter滾動條問題
- 18. Python Tkinter類繼承問題
- 19. Python tkinter問題對齊
- 20. Python tkinter button.invoke方法問題
- 21. Tkinter中grid_forget的問題 - Python
- 22. Adwhirl佈局問題
- 23. GWT佈局問題
- 24. WPF佈局問題
- 25. CSS佈局問題
- 26. Android佈局問題
- 27. JUNG佈局問題
- 28. 佈局問題 - Java
- 29. Swing佈局問題
- 30. WPF佈局問題