- wxPython 教程
- wxPython - 主頁
- wxPython - 簡介
- wxPython - 環境
- wxPython - Hello World
- wxPython - GUI 構建工具
- wxPython - 主要類
- wxPython - 事件處理
- wxPython - 佈局管理
- wxPython - 按鈕
- wxPython - 可停靠視窗
- 多文件介面
- wxPython - 繪圖 API
- wxPython - 拖放
- wxPython 資源
- wxPython - 快速指南
- wxPython - 有用資源
- wxPython - 討論
wxPython - FlexiGridSizer
此調整器還具有一個二維網格。但是,它在控制單元格中的佈局方面提供了更大的靈活性。儘管同一行中的所有控制元件具有相同的高度,並且同一列中的所有控制元件都具有相同的寬度,但每個單元格的大小並不像在 GridSizer 中那樣一致。
可以使用 AddGrowableRow() 和 AddGrowableCol() 方法來允許單列/行的寬度和/或高度進行擴充套件。
wx.FlexiGridSizer 類建構函式採用四個引數 -
Wx.FlexiGridSizer(rows, cols, vgap, hgap)
以下是對 wx.FlexiGridSizer 的主要方法的簡要說明 -
| 序。號 | 方法和說明 |
|---|---|
| 1 | AddGrowableCol() 如果存在額外高度,則指定給定索引的一列進行增長。 |
| 2 | AddGrowRow() 如果存在額外寬度,則指定給定索引的一行進行增長。 |
| 3 | SetFlexibleDirection() 指定調整器的靈活性是影響行、列還是兩者。 |
示例
使用以下程式碼設計了一個雙欄表單。第一列包含標籤,第二列包含文字框。第二列設定為可增長。同樣,第三行設定為可增長。(請注意,行索引和列索引從 0 開始)。AddGrowableCol() 和 AddGrowableRow() 函式中的第二個引數是增長比例。
fgs.AddGrowableRow(2, 1) fgs.AddGrowableCol(1, 1)
整個程式碼如下 -
import wx
class Example(wx.Frame):
def __init__(self, parent, title):
super(Example, self).__init__(parent, title = title, size = (300, 250))
self.InitUI()
self.Centre()
self.Show()
def InitUI(self):
panel = wx.Panel(self)
hbox = wx.BoxSizer(wx.HORIZONTAL)
fgs = wx.FlexGridSizer(3, 2, 10,10)
title = wx.StaticText(panel, label = "Title")
author = wx.StaticText(panel, label = "Name of the Author")
review = wx.StaticText(panel, label = "Review")
tc1 = wx.TextCtrl(panel)
tc2 = wx.TextCtrl(panel)
tc3 = wx.TextCtrl(panel, style = wx.TE_MULTILINE)
fgs.AddMany([(title), (tc1, 1, wx.EXPAND), (author),
(tc2, 1, wx.EXPAND), (review, 1, wx.EXPAND), (tc3, 1, wx.EXPAND)])
fgs.AddGrowableRow(2, 1)
fgs.AddGrowableCol(1, 1)
hbox.Add(fgs, proportion = 2, flag = wx.ALL|wx.EXPAND, border = 15)
panel.SetSizer(hbox)
app = wx.App()
Example(None, title = 'FlexiGrid Demo')
app.MainLoop()
以上程式碼會生成以下輸出 -
wxpython_layout_management.htm
廣告