gridlayout如何设置(第8天25天学会wxPython)
gridlayout如何设置(第8天25天学会wxPython)#python##程序员##好平台好讲师##热搜##头条#一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货了。赶紧来围观啊!!!网格布局中的AddGrowableRow(idx,proportion=0)方法,指定要自动适配屏幕大小的行,AddGrowableCol(idx proportion=0) 指定要自动适配屏幕大小的列。注意:被指定的行或列,需要添加wx.EXPAND标记才有效。好了,FlexGridSizer的内容就说到这了,关注我,下一节更精彩。码字不易,你的关注和转发是对我最大的鼓励,谢谢!
以行和列二维表格方式排版组件的布局管理器,还有wx.FlexGridSizer,它比GridSizer更灵活一些,wx.GridSizer的单元格大小都一样,而wx.FlexGridSizer的单元格仅限制每行的单元格高度一致、每列的单元格宽度一致,但无需所有行列的宽高一致。它的语法为:
fgs=wx.FlexGridSizer(rows=1 cols=0 vgap=0 hgap=0)
fgs.AddMany(self items)
rows定义行数,cols定义列数,vgap指定垂直方向上的行间距,hgap指定水平方向上的列间距。
程序清单:flexGridSizer.py
import wx
# 继承Frame
class FlexGridSizer(wx.Frame):
def __init__(self *args **kwargs):
super(FlexGridSizer self).__init__(*args **kwargs)
# 初始化窗口UI
self.init_ui()
def init_ui(self):
v_box = wx.BoxSizer(wx.VERTICAL)
fgs = wx.FlexGridSizer(4 2 9 25)
name = wx.StaticText(self label="客户名称")
name_input = wx.TextCtrl(self)
address = wx.StaticText(self label="收货地址")
address_input = wx.TextCtrl(self)
remark = wx.StaticText(self label="备注信息")
remark_input = wx.TextCtrl(self style=wx.TE_MULTILINE)
# 按钮
submit_btn = wx.Button(self label="确定" size=(80 80))
cancel_btn = wx.Button(self label="取消" size=(80 80))
fgs.AddMany([(name 0) (name_input 1 wx.EXPAND)
(address 0) (address_input 1 wx.EXPAND)
(remark 1 wx.EXPAND) (remark_input 1 wx.EXPAND)
(submit_btn 0 wx.ALIGN_RIGHT) (cancel_btn 0 wx.ALIGN_LEFT)])
fgs.AddGrowableRow(2 1) # 指定第3行适配屏幕大小
fgs.AddGrowableCol(1 1) # 指定第2列适配屏幕大小
v_box.Add(fgs proportion=1 flag=wx.ALL | wx.EXPAND border=10)
self.SetSizer(v_box)
self.SetTitle("FlexGridSizer布局")
self.Centre()
self.Show(True)
def main():
app = wx.App(False)
FlexGridSizer(None)
app.MainLoop()
if __name__ == "__main__":
main()
运行程序之后,弹出的窗口如下:
网格布局中的AddGrowableRow(idx,proportion=0)方法,指定要自动适配屏幕大小的行,AddGrowableCol(idx proportion=0) 指定要自动适配屏幕大小的列。注意:被指定的行或列,需要添加wx.EXPAND标记才有效。
好了,FlexGridSizer的内容就说到这了,关注我,下一节更精彩。
码字不易,你的关注和转发是对我最大的鼓励,谢谢!
一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货了。赶紧来围观啊!!!
#python##程序员##好平台好讲师##热搜##头条#