wxWidgets 计算不正确的帧大小

发布于 2024-12-01 01:56:33 字数 926 浏览 1 评论 0原文

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

创建有问题的框架的代码:

class 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()

I need to make small wxWidgets (wxPython) frame, which contains only toolbar and menubar and is just enough big to contain them. When I run code below, it creates a frame but it`s way too big. What should I do to make frame fit tightly around components it contains?

Code that creates problematic frame:

class 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()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只是我以为 2024-12-08 01:56:33

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

Try to delete self.SetMaxSize(size) and say what happened.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文