wxPython:禁用大小调整时最大化帧(Linux)

时间:2013-12-06 20:58:13

标签: python linux wxpython frame maximize

在Linux上,如何禁用重新调整大小,但同时最大化界面开始?

我尝试了以下但是没有最大化:

style = wx.DEFAULT_FRAME_STYLE & ~wx.MAXIMIZE_BOX ^ wx.RESIZE_BORDER)

style = wx.MAXIMIZE | wx.DEFAULT_FRAME_STYLE & ~wx.MAXIMIZE_BOX ^ wx.RESIZE_BORDER

编辑:

尝试通过禁用调整大小的Maximize(),仍然没有。我的版本:Linux,Python 2.4,wxPython 2.8.12.1

(style = wx.MAXIMIZE适用于Windows,但不适用于Linux)

1 个答案:

答案 0 :(得分:0)

你非常接近。你忘了给Maximize()打电话。见下文:

import wx

########################################################################
class NoResizeFrame(wx.Frame):
    """
    This frame cannot be resized. It can only be minimized, maximized
    and closed
    """

    #----------------------------------------------------------------------
    def __init__(self):
        """Constructor"""
        no_resize = wx.DEFAULT_FRAME_STYLE & ~ (wx.RESIZE_BORDER | 
                                                wx.RESIZE_BOX | 
                                                wx.MAXIMIZE_BOX)
        wx.Frame.__init__(self, None, title="No Resize", style=no_resize)
        panel = wx.Panel(self)

        self.Show()
        self.Maximize()

#----------------------------------------------------------------------
if __name__ == "__main__":
    app = wx.App(False)
    frame = NoResizeFrame()
    app.MainLoop()

您可能会发现我的本教程对于更好地理解框架样式标志很有用:

或者这个稍微大一点的关于最大化的教程: