Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/12/2012, 15:13
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

Te recomiendo leer wxpython in action, te ayudara a ententer todo lo que necesitas sobre wx.

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # generated by wxGlade 0.6.4 on Wed Dec 19 11:21:44 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.         self.panel_1 = wx.Panel(self, -1)
  17.         self.static_box_1 = wx.StaticBox(self.panel_1, -1, "PANEL DE LA HERRAMIENTA 1 - UNO")
  18.         self.panel_2 = wx.Panel(self, -1)
  19.         self.static_box_2 = wx.StaticBox(self.panel_2, -1, "PANEL DE LA HERRAMIENTA 2 - DOS")
  20.  
  21.  
  22.         self.__set_properties()
  23.         self.__do_layout()
  24.  
  25.         self.Bind(wx.EVT_TOOL, self.OnClickHerramienta1, self.button_Herramienta1)
  26.         self.Bind(wx.EVT_TOOL, self.OnClickHerramienta2, self.button_Herramienta2)
  27.         # end wxGlade
  28.  
  29.     def __set_properties(self):
  30.         # begin wxGlade: MyFrame.__set_properties
  31.         self.SetTitle("frame_1")
  32.         self.SetSize((300, 300))
  33.         self.panel_2.Hide()
  34.         # end wxGlade
  35.  
  36.     def __do_layout(self):
  37.         # begin wxGlade: MyFrame.__do_layout
  38.         # Tool Bar
  39.         self.frame_1_toolbar = wx.ToolBar(self, -1)
  40.         self.SetToolBar(self.frame_1_toolbar)
  41.         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")
  42.         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")
  43.         # Tool Bar end
  44.  
  45.         sizer_1 = wx.BoxSizer(wx.VERTICAL)
  46.         sizer_3 = wx.BoxSizer(wx.VERTICAL)
  47.         sizer_2 = wx.BoxSizer(wx.VERTICAL)
  48.         sizer_2.Add(self.static_box_1, 0, 0, 0)
  49.         self.panel_1.SetSizer(sizer_2)
  50.         sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0)
  51.         sizer_3.Add(self.static_box_2, 0, 0, 0)
  52.         self.panel_2.SetSizer(sizer_3)
  53.         sizer_1.Add(self.panel_2, 1, wx.EXPAND, 0)
  54.         self.SetSizer(sizer_1)
  55.         self.Layout()
  56.         # end wxGlade
  57.  
  58.     def OnClickHerramienta1(self, event):
  59.         self.panel_1.Hide()
  60.         self.panel_2.Show()
  61.     self.Layout()
  62.         event.Skip()
  63.  
  64.     def OnClickHerramienta2(self, event):
  65.         self.panel_2.Hide()
  66.         self.panel_1.Show()
  67.     self.Layout()
  68.         event.Skip()
  69.  
  70. # end of class MyFrame
  71. if __name__ == "__main__":
  72.     app = wx.PySimpleApp(0)
  73.     wx.InitAllImageHandlers()
  74.     frame_1 = MyFrame(None, -1, "")
  75.     app.SetTopWindow(frame_1)
  76.     frame_1.Show()
  77.     app.MainLoop()