wxWidgets计算不正确的帧大小

时间:2011-08-20 08:12:30

标签: python user-interface wxpython wxwidgets

我需要制作小的wxWidgets(wxPython)框架,它只包含工具栏和菜单栏,并且足以容纳它们。当我在下面运行代码时,它会创建一个框架,但它太大了。我该怎么做才能使框架紧紧围绕它所包含的组件?

创建有问题框架的代码:

类ToolFrame(wx.Frame):

def __init__(self, editor):
    wx.Frame.__init__(self, None, title = "Tools")
    self.editor = editor

    self.menu = FileMenu(self, editor)

    self.menuBar = wx.MenuBar()
    self.menuBar.Append(self.menu, "File")
    self.SetMenuBar(self.menuBar)

    self.toolBar = Tools(self, editor)
    self.SetToolBar(self.toolBar)

    # frame size has to be constant
    self.Layout()
    size = self.GetSize()
    self.SetMaxSize(size)
    self.SetMinSize(size)

    # connect exit callback
    self.Bind(wx.EVT_CLOSE, self.onClose)


def addTool(self, tool):
    self.toolBar.addTool(tool)


def onClose(self, event):
    if self.editor:
        self.editor.postEvent(events.ExitRequestEvent())

def quit(self):
    self.Destroy()

1 个答案:

答案 0 :(得分:0)

尝试删除self.SetMaxSize(size)并说明发生了什么。