#coding: utf-8

"""
ZetCode wxPython tutorial

In this example we create review
layout with wx.FlexGridSizer.

author: Jan Bodnar
website: www.zetcode.com
last modified: April 2018
"""
#二次元格子状配置であるが「行方向の縦幅」と「列方向の横幅」
#は自由に取れる。

import wx

class Example(wx.Frame):

    def __init__(self, parent, title):
        super(Example, self).__init__(parent, title=title)

        self.InitUI()
        self.Centre()
        self.Show()

    def InitUI(self):

        panel = wx.Panel(self)

        hbox = wx.BoxSizer(wx.HORIZONTAL)
        #まず水平方向のBoxSizer

        fgs = wx.FlexGridSizer(3, 2, 9, 25)
        #3行2列の二次元格子状配置

        title = wx.StaticText(panel, label="書名")
        author = wx.StaticText(panel, label="著者")
        review = wx.StaticText(panel, label="書評")

        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)
        #縦方向を拡大可とする、第3行から
        fgs.AddGrowableCol(1, 1)
        #横方向を拡大可とする。第2列から

        hbox.Add(fgs, proportion=1, flag=wx.ALL|wx.EXPAND, border=15)
        panel.SetSizer(hbox)


def main():

    app = wx.App()
    ex = Example(None, title='書評')
    ex.Show()
    app.MainLoop()


if __name__ == '__main__':
    main()

	実行例