from wxPython.wx import * class MioFrame(wxFrame): def __init__(self): wxFrame.__init__(self, None, -1, "Toolbar") self.CreateStatusBar() # Id utilizzati dal pulsante e dal combo # inseriti nella toolbar. ID_INFO = wxNewId() ID_COMBO = wxNewId() tb = self.CreateToolBar(wxTB_HORIZONTAL| wxNO_BORDER|wxTB_FLAT) # bmp contiene un'immagine caricata dal # file "nuovo.bmp". bmp = wxBitmap("nuovo.bmp", wxBITMAP_TYPE_BMP) tb.AddSimpleTool(ID_INFO, bmp, "Nuovo", "Crea un nuovo documento") # Alla pressione del pulsante viene chiamata self.OnNuovo. EVT_TOOL(self, ID_INFO, self.OnNuovo) # Aggiunge un separatore fra i due controlli. tb.AddSeparator() # Viene creato un combo box, maggiori informazioni # saranno date nei capitoli successivi. combo = wxComboBox(tb, ID_COMBO, choices = ["Ciao", "sono", "un", "combobox"]) # Il combo box appena creato viene inserito # nella tool bar. tb.AddControl(combo) # Quando viene cambiata la selezione nel combobox # viene chiamata self.on_combo. EVT_COMBOBOX(self, ID_COMBO, self.OnCombo) # Realize deve essere chiamata affinché i cambiamenti # fatti alla toolbar siano visibili. tb.Realize() def OnNuovo(self, event): wxMessageBox("Questo funzione dovrebbe creare " "un nuovo documento ma non è " "stata implementata.") def OnCombo(self, event): # Nella versione di wxPython utilizzata per la # scrittura del tutorial questa funzione # viene richiamata 3 volte a causa di un bug. wxMessageBox("La selezione del combobox è " "stata cambiata.") class MiaApp(wxApp): def OnInit(self): frame = MioFrame() frame.Show(1) self.SetTopWindow(frame) return 1 app = MiaApp() app.MainLoop()