wxpython子窗口_wxPython:一个子风的SplitterWindow和SetMaxSize

我对wxPython还是个新手,所以我希望没有什么可以忽略的基本问题:

我想使用SplitterWindow将框架的内容拆分为两个可调整大小的子窗口(a和B),但我希望其中一个窗口(B)具有MaxSize设置。在

不幸的是,这带来了一个问题:当我调整(放大)整个框架(我试图适应wxPython术语;通常,我会说:调整窗口大小),我希望一旦达到窗口B的最大大小,窗口A将自动放大以填充框架的全部内容。遗憾的是,事实并非如此。

如何确保不能将窗扇向左移动(减小窗口B的大小)?在当前的情况下,窗口B只会向左移动(不改变宽度),并暴露WindowSplitter的蓝色背景。

我的代码是:import wx

class MainWindow(wx.Frame):

def __init__(self, parent, title):

wx.Frame.__init__(self, parent, title=title, size=(500,300))

# Create View

self.loadView()

#self.SetAutoLayout(1)

self.GetSizer().Fit(self)

self.Centre()

self.Show()

def loadView(self):

splitter = wx.SplitterWindow(self, wx.ID_ANY, style = wx.SP_BORDER, size=(500, 300))

splitter.SetBackgroundColour('#0000ff')

panelLeft = wx.Panel(splitter, size=(200,100))

panelLeft.SetBackgroundColour('#00ff00')

panelRight = wx.Panel(splitter, size=(200,100))

panelRight.SetBackgroundColour('#ff0000')

panelRight.SetMaxSize((200, -1))

splitter.SplitVertically(panelLeft, panelRight)

self.SetSizer(wx.BoxSizer(wx.HORIZONTAL))

self.GetSizer().Add(splitter, 1, wx.EXPAND)

app = wx.App(False)

frame = MainWindow(None, "Test")

app.MainLoop()

一幅画能说出千言万语:

kO6qX.png

蓝色区域是拆分器的一部分,但不是由窗口A填充的

如有任何正确的帮助/提示,我们将不胜感激。在

谢谢,

丹尼尔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值