一個GUI部件可通過指定以像素為單位的絕對座標放置在容器窗口中。 座標是相對於它的構造尺寸參數定義的窗口的尺寸大小。窗口中的窗口小部件的位置由它的構造函數的pos參數定義的。
import wx app = wx.App() window = wx.Frame(None, title = "wxPython Frame", size = (300,200)) panel = wx.Panel(window) label = wx.StaticText(panel, label = "Hello World", pos = (100,50)) window.Show(True) app.MainLoop()
絕對定位不適合下列原因 −
-
小部件的位置,如果調整窗口的大小也不會改變。
-
外觀可能不是均勻的,在具有不同的解析度不同的顯示設備。
-
修改中的佈局是困難的,因為它可能需要重新設計整個表格。
wxPython的API提供了佈局類的容器內的小部件的定位更優雅的管理。佈局管理器使用絕對定位的優點是 -
-
在窗口中的窗口小部件會自動調整大小。
-
確保均勻的外觀上不同解析度的顯示設備。
-
添加或去除部件動態地是可能的,而不需要重新設計。
佈局管理器在wxPython中被稱為Sizer。Wx.Sizer是所有sizer 的基類。讓我們來討論一些重要的sizer ,如wx.BoxSizer,wx.StaticBoxSizer,wx.GridSizer,wx.FlexGridSizer和wx.GridBagSizer。
S.N. |
大小測定器和說明
|
---|---|
1 |
BoxSizer
sizer允許控件排放在按行或列的方式。BoxSizer佈局是由它的定位參數(wxVERTICAL或wxHORIZONTAL)確定。 |
2 |
GridSizer
顧名思義,一個GridSizer對象呈現二維網格。控件被添加在網格槽以左到右和由上到下方順序。 |
3 |
FlexiGridSizer
這種sizer 也有一個二維網格。它提供靈活性佈局中的控制單元。
|
4 |
GridBagSizer
GridBagSizer是一種多功能sizer。它比FlexiGridSizer提供了更多的增強功能。子構件可被添加到網格中的指定單元格。
|
5 |
StaticBoxSizer
StaticBoxSizer把一個盒子sizer放到靜態框。它提供了圍繞框邊界以及頂部標籤。
|
上一篇:
wxPython StaticBoxSizer佈局
下一篇:
wxPython Button控件