我正在使用下面的代码来测试AUI的一些功能。如果您运行代码,您应该找到一个框架,其中包含2个可以分离/浮动的面板。但是,可以将面板拖动到屏幕上的任何位置。我想防止面板离开主框架。这可能吗?我以为会有一面旗帜或者我可以改变的东西,但我还没有找到任何东西。
谢谢!
代码:
import wx
from wx.lib.agw import aui
class TestPanel(wx.Panel):
def __init__(self, *args, **keys):
wx.Panel.__init__(self, *args, **keys)
self.textCtrl = wx.StaticText( self, wx.ID_ANY, 'AGW is a very nice library!' )
class TestFrame(wx.Frame):
def __init__(self, *args, **keys):
wx.Frame.__init__(self, *args, **keys)
self.mgr = mgr = aui.AuiManager_DCP()
mgr.SetManagedWindow( self )
mgr.AddPane( TestPanel(self), aui.AuiPaneInfo().Name('p1').Caption('p1').Right().BestSize((100,100)) )
mgr.AddPane( TestPanel(self), aui.AuiPaneInfo().Name('p2').Caption('p2').Bottom().BestSize((100,100)) )
mgr.Update()
if __name__ == '__main__':
app = wx.App( redirect = False )
frame = TestFrame( None, title = 'AUI test', size = (300, 400) )
frame.Show()
app.MainLoop()
答案 0 :(得分:2)
在AuiPaneInfo()
中,您可以将Floatable(False)
添加到您不希望它浮动的痛苦中:
wx.aui.AuiPaneInfo().Left().Floatable(False)