Hi,

I have made a GUI using wxPython. I want to disable the Maximize button, but I am not able to do it. Please suggest a way to implement this.

Regards,
Dinil

Recommended Answers

All 3 Replies

You bind an event to intercept the maximize event and call an event.veto()

The wx.Frame default style is wx.DEFAULT_FRAME_STYLE and is normally defined as:
wx.MINIMIZE_BOX|wx.MAXIMIZE_BOX|wx.RESIZE_BORDER|wx.SYSTEM_MENU|wx.CAPTION|
wx.CLOSE_BOX|wx.CLIP_CHILDREN
so remove wx.MAXIMIZE_BOX to disable it ...

# a wxFrame with the max button/box disabled

import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, mytitle, mysize):
        wx.Frame.__init__(self, parent, wx.ID_ANY, mytitle, size=mysize,
            style=wx.MINIMIZE_BOX|wx.RESIZE_BORDER|wx.SYSTEM_MENU|
                  wx.CAPTION|wx.CLOSE_BOX|wx.CLIP_CHILDREN)


app = wx.App(0)
# create a MyFrame instance and show the frame
MyFrame(None, 'Max box disabled', (400, 300)).Show()
app.MainLoop()

Thanx a lot!!! It worked..

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.