wxCollapsiblePane力框resiz

2024-10-02 04:27:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我在wxFrame中有一个wxCollapsiblePane和一个wxGrid。每次折叠或展开wxCollapsiblePane时,整个框架都会调整大小。我想要的是让wxGrid变大变小,框架保持不变。我还注意到,虽然我显式地创建了大小为500x500的wxFrame,但它实际上会缩小以适合其内容。我认为这是与尺寸器有关,但我所做的一切似乎都没有影响到这一点。有人能指出我哪里出错了吗?这是我目前为止的代码。在

import wx
import wx.grid

class Frame(wx.Frame):

    def __init__(self, *args, **kwargs):
        super(Frame, self).__init__(*args, **kwargs)
        cpane = wx.CollapsiblePane(self)
        p = cpane.GetPane()
        sz = wx.BoxSizer()
        sz.Add(wx.TextCtrl(p), 1, wx.EXPAND)
        p.SetSizer(sz)

        sizer = wx.BoxSizer(wx.VERTICAL)
        self.grid = wx.grid.Grid(self)
        self.grid.CreateGrid(5, 5)

        sizer.Add(cpane, 0, wx.EXPAND)
        sizer.Add(self.grid, 1, wx.EXPAND)
        self.SetSizer(sizer)
        self.SetAutoLayout(1)
        sizer.Fit(self)
        self.Show()

app = wx.App(False)
win = Frame(None, size=(500, 500))
win.Show()
app.MainLoop()

Tags: importself框架addinitframegridexpand
1条回答
网友
1楼 · 发布于 2024-10-02 04:27:11

为了不允许折叠窗格调整框架的大小,请使用wx.CP_否TLW_调整大小当你创建它的时候。见http://docs.wxwidgets.org/trunk/classwx_collapsible_pane.html

Fit()调用是缩小框架以适应内容的内容。如果你不想发生这种事,那就不需要了。代码中的SetAutoLayout调用是多余的,因为setzizer将为您打开该属性。在

相关问题 更多 >

    热门问题