Next:結合元件變數 | Previous: 設定選項 | 內容
The Packer
packer 是tk的幾何管理的一種機制,查看 Tkinter 類別概述 文件。
幾何管理員被用來指定元件在他們的容器內的相關定位 – 他們的相互主宰,相對於麻煩的 placer (比較少用而且我們也不在此討論),packer 採用具品質的關係格式 – above、 to the left of、 filling等等 – 並且為你解決所有事情來決定精確的定位座標。
任何主宰元件的尺寸決定於 “slave widgets” 內的尺寸,打包器被用來控制從屬元件出現在他們被打包的主元件裡的位置,你可以打包元件到框架內而框架又可以打包進其他的框架內,這樣你可以完成你想要的佈置的方式,另外一旦它被打包這個配置可以被動態調整來容納新增的變動給組態。
注意元件會直到他們使用幾何管理員來指定後才會出現,省略了幾何規格是早期常見的錯誤,然後我們會很驚訝元件已經建構卻沒有顯示而感到驚訝,元件只在有幾何規格後才能顯示,例如打包器的 pack()
方法。
pack() 方法可以用關鍵字-選項/直的配對方式來呼叫,這個配對是用來控制元件出現在容器的位置,以及當主應用程式的視窗尺寸變動時它會發生什麼行為,這裡有些例子:
fred.pack() #defaults to side = “top”
fred.pack(side = “left”)
fred.pack(expand = 1)
打包器選項
更多關於打包器及其可用的選項,查看線上文件及John Ousterhout該書p.183頁。
-
- anchor
- 錨點型態,指示打包器要放置每個從屬元件在他的小包中的位置。
- expand
- 布林值 0 或 1
- fill
- 合法值: “x”、 “y”、 “both”、 “none”。
- ipadx 及 ipady
- 一種距離 – 定義從屬元件每一邊的內部邊界的距離。
- padx 及 pady
- 一種距離 – 定義從屬元件每一邊的外部邊界的距離。
- side
- 合法值: “left”、 “right”、 “top”、”bottom”,被內含的元件(從屬)被打包在相對於主元件所指定的某一邊。
>
3 則留言