我剛剛學會了如何在Python(3.2.2)中使用tkinter,並且在使用網格管理器時遇到了一些問題。例如,當我放置button.grid(sticky = SE)時,該按鈕不會放在右下角,而只是放在左上角,忽略粘滯值。我在這裏做錯了什麼?我試圖搜索它,但我無法真正發現我做錯了什麼。Python tkinter網格管理器?
3
A
回答
4
您可能需要爲包含按鈕的小部件設置最小大小。 如果您不這樣做,容器小部件可能會縮小,只佔用顯示按鈕所需的空間。如果是這樣,粘性選項將毫無意義,因爲容器小部件沒有空間顯示任何區別。
例如,使用一個tk.Frame
作爲容器插件:
import Tkinter as tk
class SimpleApp(object):
def __init__(self, master, **kwargs):
title = kwargs.pop('title')
frame = tk.Frame(master, borderwidth=5, bg = 'cyan', **kwargs)
frame.grid()
button = tk.Button(frame, text = title)
button.grid(sticky = tk.SE)
frame.rowconfigure('all', minsize = 200)
frame.columnconfigure('all', minsize = 200)
def basic():
root = tk.Tk()
app = SimpleApp(root, title = 'Hello, world')
root.mainloop()
basic()
產生
PS。我沒有安裝在Python3.2,所以我不能對此進行測試Tkinter的,但我認爲你需要的唯一的變化,以與Python3.2這項工作是
import tkinter as tk
,而不是
import Tkinter as tk
1
當你說「我在這裏做錯了什麼」時,你需要發佈你的代碼,否則任何人如何能夠猜出什麼是錯的。
以下工作正常,將按鈕放置在網格單元的右下角(SE) - 默認爲中心,而不是左上角(NW)。
from tkinter import Button, Label, Entry, Tk, SE
root = Tk()
Label(text="Lots o' Stuff", width=30, height=15,
borderwidth=2, relief="raised").grid(rowspan=2)
Entry().grid(row=0, column=2)
Button(text="Hit Me").grid(row=1, column=2, sticky=SE)
root.mainloop()
相關問題
- 1. Python Tkinter佈局管理與網格
- 2. tkinter網格管理器行爲
- 3. Tkinter網格管理器無法管理'頂層窗口'菜單
- 4. python中tkinter的包管理器
- 5. Tkinter嵌套框架與網格管理器問題
- 6. Python Tkinter佈局管理
- 7. Tkinter網格幾何管理器大小傳播(粘滯)
- 8. Tkinter中的網格管理器:列間距被忽略
- 9. 在網格管理器中使用Tkinter的輸入框?
- 10. 行和列大小 - 網格管理器 - Tkinter
- 11. Python畫布和網格Tkinter
- 12. Python的GUI和TKinter網格
- 13. 如何在tkinter窗口上使用網格管理器時實現滾動條
- 14. 在主窗口中添加垂直滾動條,Tkinter和網格管理器
- 15. 管理列寬tkinter
- 16. Python - 與網格管理器的多個幀
- 17. Telerik網格管理過濾器圖標
- 18. Python tkinter網格佈局問題
- 19. Python的Tkinter的網格發出
- 20. tkinter Python中的按鈕位置(網格)
- 21. Python Tkinter網格問題 - 用戶錯誤?
- 22. python中的Tkinter網格()對齊問題
- 23. 內存管理和Tkinter
- 24. Magento管理網格問題
- 25. 管理硒網格/節點
- 26. 在網格管理columnspan
- 27. 在網格的Tkinter
- 28. tkinter - 管理多個標籤
- 29. tkinter網格中的行
- 30. django:管理網站沒有格式化
如果你得到有用的答案,一定要投票並接受。 – Dave 2011-12-26 16:12:41