Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/12/2012, 12:34
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Duda como referenciar a un botón de la ToolBar

En el Glade puedes añadirle el nombre de tu EventHandler.

O si lo prefieres hacer manual:
Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: iso-8859-15 -*-
  3. # generated by wxGlade 0.6.5 (standalone edition) on Wed Dec 19 10:19:46 2012
  4.  
  5. import wx
  6.  
  7. # begin wxGlade: extracode
  8. # end wxGlade
  9.  
  10.  
  11. class MyFrame(wx.Frame):
  12.     def __init__(self, *args, **kwds):
  13.         # begin wxGlade: MyFrame.__init__
  14.         kwds["style"] = wx.DEFAULT_FRAME_STYLE
  15.         wx.Frame.__init__(self, *args, **kwds)
  16.        
  17.         # Tool Bar
  18.         self.frame_1_toolbar = wx.ToolBar(self, -1)
  19.         self.SetToolBar(self.frame_1_toolbar)
  20.         self.button_Herramienta1 = self.frame_1_toolbar.AddLabelTool(1, "HERRAMIENTA1", wx.Bitmap("1.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, "Herramienta1", "Herramienta1")
  21.         self.button_Herramienta2 = self.frame_1_toolbar.AddLabelTool(2, "HERRAMIENTA2", wx.Bitmap("2.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, "Herramienta2", "Herramienta2")
  22.         # Tool Bar end
  23.  
  24.         #Defino los dos paneles
  25.         self.panel_1 = wx.Panel(self, -1)
  26.         self.sizer_3_staticbox = wx.StaticBox(self.panel_1, -1, "PANEL DE LA HERRAMIENTA 1 - UNO")
  27.  
  28.         self.panel_2 = wx.Panel(self, -1)
  29.         self.sizer_3_staticbox = wx.StaticBox(self.panel_1, -1, "PANEL DE LA HERRAMIENTA 2 - DOS")
  30.  
  31.         self.__set_properties()
  32.         self.__do_layout()
  33.  
  34.  
  35.         self.Bind(wx.EVT_BUTTON, self.OnClickHerramienta1, self.button_Herramienta1)
  36.         self.Bind(wx.EVT_BUTTON, self.OnClickHerramienta2, self.button_Herramienta2)
  37.         # end wxGlade
  38.  
  39.     def __set_properties(self):
  40.         # begin wxGlade: MyFrame.__set_properties
  41.         self.SetTitle("frame_1")
  42.         self.frame_1_toolbar.SetToolBitmapSize((32, 32))
  43.         self.frame_1_toolbar.Realize()
  44.         self.panel_1.SetBackgroundColour(wx.Colour(216, 191, 216))
  45.         # end wxGlade
  46.  
  47.     def __do_layout(self):
  48.         # begin wxGlade: MyFrame.__do_layout
  49.         sizer_1 = wx.BoxSizer(wx.VERTICAL)
  50.         self.sizer_3_staticbox.Lower()
  51.         sizer_3 = wx.StaticBoxSizer(self.sizer_3_staticbox, wx.HORIZONTAL)
  52.         self.panel_1.SetSizer(sizer_3)
  53.         sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0)
  54.         self.SetSizer(sizer_1)
  55.         sizer_1.Fit(self)
  56.         self.Layout()
  57.         # end wxGlade
  58.  
  59.  
  60.     def OnClickHerramienta1(self, event):
  61.         self.panel_1.Show()
  62.         self.panel_2.Hide()
  63.          
  64.         self.Layout()
  65.         event.Skip()
  66.  
  67.  
  68.     def OnClickHerramienta2(self, event):
  69.         self.panel_1.Hide()
  70.         self.panel_2.Show()
  71.          
  72.         self.Layout()
  73.         event.Skip()
  74.  
  75.  
  76.  
  77. # end of class MyFrame
  78. if __name__ == "__main__":
  79.     app = wx.PySimpleApp(0)
  80.     wx.InitAllImageHandlers()
  81.     frame_1 = MyFrame(None, -1, "")
  82.     app.SetTopWindow(frame_1)
  83.     frame_1.Show()
  84.     app.MainLoop()