gpt4 book ai didi

python - wxPython:如何固定网格调整器的一部分的大小

转载 作者:太空宇宙 更新时间:2023-11-04 06:28:13 25 4
gpt4 key购买 nike

我想要做的是创建 3 列,该列将随着窗口的扩展而扩展。但我想对其进行限制,以便不同的列扩展到不同的最大数量。

我在这里所做的是使用 wxGlade 创建一个带有 1 行 3 列的网格 sizer 的框架。我希望第 1 部分具有固定宽度“A”,第 2 部分具有固定宽度“B”,第 3 部分能够正常展开。

我该怎么做?

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
# generated by wxGlade 0.6.3 on Tue May 24 11:35:21 2011

import wx

# begin wxGlade: extracode
# end wxGlade



class MyFrame1(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame1.__init__
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.panel_1 = wx.Panel(self, -1)
self.sizer_10_staticbox = wx.StaticBox(self.panel_1, -1, "Part2")
self.sizer_11_staticbox = wx.StaticBox(self.panel_1, -1, "Part3")
self.sizer_9_staticbox = wx.StaticBox(self.panel_1, -1, "Part1")

self.__set_properties()
self.__do_layout()
# end wxGlade

def __set_properties(self):
# begin wxGlade: MyFrame1.__set_properties
self.SetTitle("frame_2")
# end wxGlade

def __do_layout(self):
# begin wxGlade: MyFrame1.__do_layout
sizer_8 = wx.BoxSizer(wx.VERTICAL)
grid_sizer_4 = wx.GridSizer(1, 3, 0, 0)
sizer_11 = wx.StaticBoxSizer(self.sizer_11_staticbox, wx.HORIZONTAL)
sizer_10 = wx.StaticBoxSizer(self.sizer_10_staticbox, wx.HORIZONTAL)
sizer_9 = wx.StaticBoxSizer(self.sizer_9_staticbox, wx.HORIZONTAL)
grid_sizer_4.Add(sizer_9, 1, wx.EXPAND, 0)
grid_sizer_4.Add(sizer_10, 1, wx.EXPAND, 0)
grid_sizer_4.Add(sizer_11, 1, wx.EXPAND, 0)
self.panel_1.SetSizer(grid_sizer_4)
sizer_8.Add(self.panel_1, 1, wx.EXPAND, 0)
self.SetSizer(sizer_8)
sizer_8.Fit(self)
self.Layout()
# end wxGlade

# end of class MyFrame1


if __name__ == "__main__":
app = wx.PySimpleApp(0)
wx.InitAllImageHandlers()
frame_2 = MyFrame1(None, -1, "")
app.SetTopWindow(frame_2)
frame_2.Show()
app.MainLoop()

最佳答案

如果您使用的是 GridSizer我可能会建议您看一下 GridBagSizer反而。

一旦您决定它是否可用,那么您可能需要查看 sizer.AddGrowableRow(row)sizer.AddGrowableCol(col) 方法。它们允许您指示网格中展开的列或行。它们不像您熟悉的 BoxSizers 那样使用比例(因此,如果两列增长,它们都以相同的速度增长),但您可以设置一些扩展而另一些不扩展。

索引是从零开始的,所以根据你的描述,我猜像 gridbagsizer_4.AddGrowableCol(2),但正如我的评论所说,wxGlade 的命名约定让我感到不适,而且很难说出某些,并且这些方法在 GridSizer 上不可用。

对于任何感兴趣的人,这里有一篇介绍我的表单构建和表单对话框类的帖子:Form Builder .将它发布到我可以包含附件的网站上比尝试将其全部粘贴到此处更容易。

关于python - wxPython:如何固定网格调整器的一部分的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6113843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com