der Titel sagt ja eigentlich schon 1000 Worte

Ich habe mir ein Menu gezaubert mit einer Kategorie Fenster die bis jetzt eine Checkbox beinhaltet die bei aktivierten Zustand die Symbolleiste (Toolbar) einblenden soll und bei nicht aktivierten Zustand ausgebeldet werden soll.
Nun meine Frage wie Realisiere ich das? Bin noch blutiger Anfänger ^^
Habe aber über die wxWindows Doku schon herausbekommen wie Ich den Status herausbekomme und zwar mit IsChecked() das war es aber dann auch

Hier mal mein momentaner Versuch:
Code: Alles auswählen
# -*- coding: iso-8859-1 -*-
#-----------------------------------------------
# LyricList ist ein Programm um den Text (Lyric)
# von Music zum Nachsingen darzustellen.
#
# Datum: 22.08.2006
# Entwickler: $uper||man (webmaster@phpline.de)
#-----------------------------------------------
import wx
#>> Hauptframe
class MyFrame(wx.Frame):
"""
MyFrame
-----------------------
Fenster mit den notwendigen
Attributen ausgeben!
"""
#>> Menu Event IDs...
_EventDateiBeenden = 10000 #Programm Beenden.
_EventFensterSymbolleiste = 10001 #Symbolleiste ein- und ausblenden.
#-------------------------------------------------------------------------------------------------------------
#>> Frame Initialisieren via __init__
def __init__(self, Parent, id, Titel, Groesse):
wx.Frame.__init__(self, Parent, id, Titel,
style = wx.DEFAULT_FRAME_STYLE ^ (wx.MAXIMIZE_BOX),
size = Groesse)
#>> Menu ausgeben.
self.objMenu()
#>> Symbolleiste.
self._ZustandSymbolleiste = True
if(self._ZustandSymbolleiste):
self.objSymbolleiste()
#>> Statusbar erstellen.
self.CreateStatusBar()
#------------- Menüobjekte für den Frame !!! -----------------------------------------------------------------
#>> Menu
def objMenu(self):
#>> MenuBar Objekt erstellen.
MenuBar = wx.MenuBar()
#>> Menu deklarieren/definieren.
self.MenuDatei = wx.Menu()
#>> Menu Datei...
self.MenuDateiNew = wx.MenuItem(self.MenuDatei, 1001, "Neu...", "Neue LyricList erstellen")
self.MenuDateiNew.SetBitmap(wx.Image('glymph/menu/symNew.png',wx.BITMAP_TYPE_PNG).ConvertToBitmap())
self.MenuDatei.AppendItem(self.MenuDateiNew)
self.MenuDateiLoad = wx.MenuItem(self.MenuDatei, 1002, "\xd6ffnen...", "\xd6ffne LyricList Dokumment")
self.MenuDateiLoad.SetBitmap(wx.Image('glymph/menu/symLoad.png',wx.BITMAP_TYPE_PNG).ConvertToBitmap())
self.MenuDatei.AppendItem(self.MenuDateiLoad)
self.MenuDatei.AppendSeparator()
self.MenuDateiSafe = wx.MenuItem(self.MenuDatei, 102, 'Speichern...', 'LyricList Speicerhn')
self.MenuDateiSafe.SetBitmap(wx.Image('glymph/menu/symSafeFalse.png',wx.BITMAP_TYPE_PNG).ConvertToBitmap())
self.MenuDatei.AppendItem(self.MenuDateiSafe).Enable(False)
self.MenuDatei.Append(107, "Speichern unter...", "LyricList speichern unter").Enable(False)
self.MenuDatei.AppendSeparator()
self.MenuDateiExit = wx.MenuItem(self.MenuDatei, self._EventDateiBeenden, 'Beenden', 'Das Programm Beenden')
self.MenuDateiExit.SetBitmap(wx.Image('glymph/menu/symExit.png',wx.BITMAP_TYPE_PNG).ConvertToBitmap())
self.MenuDatei.AppendItem(self.MenuDateiExit)
self.Bind(wx.EVT_MENU, self.funcBeenden, id = self._EventDateiBeenden)
self.MenuFenster = wx.Menu()
self.MenuFenster.Append(self._EventFensterSymbolleiste, 'Symbolleiste', '', wx.ITEM_CHECK).Check(True)
self.Bind(wx.EVT_MENU, self.funcSymbolleiste, id = self._EventFensterSymbolleiste)
#>> Menü wie folgt sortieren.
MenuBar.Append(self.MenuDatei, "Datei")
MenuBar.Append(self.MenuFenster, "Fenster")
self.SetMenuBar(MenuBar)
#>> Symbolleiste
def objSymbolleiste(self):
vBox = wx.BoxSizer(wx.VERTICAL)
self._Symbolleiste = wx.ToolBar(self, -1, style = wx.TB_HORIZONTAL)
self._Symbolleiste.AddSimpleTool(1, wx.Image('glymph/menu/symNew.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Neu...','')
self._Symbolleiste.AddSimpleTool(2, wx.Image('glymph/menu/symLoad.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Öffnen...','')
self._Symbolleiste.AddSimpleTool(3, wx.Image('glymph/menu/symSafe.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Speichern...','').Enable(False)
self._Symbolleiste.AddSeparator()
self._Symbolleiste.Realize()
vBox.Add(self._Symbolleiste, 0 , border = 5)
#------------- Menü Event deklaration !!! --------------------------------------------------------------------
#>> Menu Funktion (Datei -> Beenden)
def funcBeenden(self, Event):
self.Close()
def funcSymbolleiste(self, Event):
if(self.MenuFenster.IsChecked(self._EventFensterSymbolleiste)):
self._ZustandSymbolleiste = True
else:
self._ZustandSymbolleiste = False
#-------------------------------------------------------------------------------------------------------------
class LyricList(wx.App):
""" Starten der LyricList Applikation. """
def OnInit(self):
Frame = MyFrame(None, -1, "Willkommen Gast! - LyricList v1.00", (350,350))
Frame.Centre()
Frame.Show(True)
return True
#----------------------------------------------------------------------------
def main():
_app = LyricList(0)
_app.MainLoop()
if __name__ == "__main__":
main()

MfG $uper||man