Seite 1 von 1

Hide/Show MenuBar

Verfasst: Freitag 7. März 2008, 08:47
von Zap
Hallo zusammen, ich suche jetzt schon ne ganze Weile aber finde leider keine Lösung.
Und zwar möchte ich in einem Frame die Möglichkeit haben das ich die
MenuBar verstecken und anschließende wiederherstellen kann. (so wie man es von Mediaplayern kennt)

Die Methode Hide() bringt zwar den erwarteten Rückgabewert, bringt aber leider kein Ergebnis.
Hat vielleicht einer von euch eine Idee ?

Code: Alles auswählen

import wx

class MyFrame(wx.Frame): 
    def __init__(self): 
        wx.Frame.__init__(self, None, -1, "Menu Hide Test") 
        
        menubar = wx.MenuBar() 
        menubar.Append(wx.Menu() , "&Datei") 
        self.SetMenuBar(menubar) 
        print self.MenuBar.Shown
        print self.MenuBar.Hide()        
        print self.MenuBar.Shown
        self.Update()

def main(): 
    app = wx.PySimpleApp() 
    frame = MyFrame() 
    frame.Center() 
    frame.Show() 
    app.MainLoop() 
    
if __name__ == "__main__": 
    main()

Re: Hide/Show MenuBar

Verfasst: Freitag 7. März 2008, 09:04
von gerold
Hallo Zap!

Code: Alles auswählen

import wx

class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1, "Menu Hide Test")
       
        self.menubar = wx.MenuBar()
        self.menubar.Append(wx.Menu() , "&Datei")
        self.SetMenuBar(self.menubar)
        
        self.Bind(wx.EVT_LEFT_DCLICK, self.toggle_menubar)
    
    
    def toggle_menubar(self, event):
        if self.menubar.IsShown():
            self.menubar.Hide()
            self.SetMenuBar(None)
        else:
            self.menubar.Show()
            self.SetMenuBar(self.menubar)


def main():
    app = wx.PySimpleApp()
    frame = MyFrame()
    frame.Center()
    frame.Show()
    app.MainLoop()
   
if __name__ == "__main__":
    main()
mfg
Gerold
:-)

Verfasst: Freitag 7. März 2008, 09:16
von Zap
Ahhhhhh Danke :D

Hatte mal kurz den Versuch gewagt SetMenuBar(0) zu testen und dabei einen TypeError bekommen, dachte somit das ich die Idee wohl knicken kann.
Sehr schön, wenn wir uns mal begegnen sollten Gerold kriegste n Bier von mir aus! ;)