Apr-23-2019, 06:53 PM
I'm not sure what type of window your looking for but I've added the creation of a dialog window to the following code.
import wx ######################################################################## class MyForm(wx.Frame): #---------------------------------------------------------------------- def __init__(self): wx.Frame.__init__(self, None, wx.ID_ANY, "Audiometer") panel = wx.Panel(self, wx.ID_ANY,size=(1000,600)) self.SetBackgroundColour((255,255,255))#2nd input change - ShanksD self.Centre()#Change -ShanksD self.Show()#Change -ShanksD #self.buttonOne.SetPosition((20, 20)) #self.buttonTwo.SetPosition((40, 40)) #self.buttonThree.SetPosition((60, 60)) #self.buttonFour.SetPosition((80, 80)) #self.buttonFive.SetPosition((100, 100)) #self.buttonSix.SetPosition((120, 120)) #self.buttonSeven.SetPosition((140, 140)) sizer = wx.BoxSizer(wx.VERTICAL) buttonOne = wx.Button(panel, label="Frequency", name="Frequency") buttonTwo = wx.Button(panel, label="Volume", name="Volume") buttonThree = wx.Button(panel, label="Pulse Tone", name="Pulse Tone") buttonFour = wx.Button(panel, label="Mask", name="Mask") buttonFive = wx.Button(panel, label="Air Bone", name="Air Bone") buttonSix = wx.Button(panel, label="Test Select", name="Test Select") buttonSeven = wx.Button(panel, label="INT", name="INT") buttons = [buttonOne, buttonTwo, buttonThree,buttonFour, buttonFive,buttonSix,buttonSeven] for button in buttons: self.buildButtons(button, sizer) panel.SetSizer(sizer) panel.Layout() # Added to make the sizer layout it's controls #---------------------------------------------------------------------- def buildButtons(self, btn, sizer): """""" btn.Bind(wx.EVT_BUTTON, self.onButton) sizer.Add(btn, 10, wx.ALL,37 )#Do not Change the VA=alue #---------------------------------------------------------------------- def onButton(self, event): """ This method is fired when its corresponding button is pressed """ button = event.GetEventObject() print (f"The button you pressed was labeled {button.GetLabel()}") # fixed string formatting print (f"The button's name is {button.GetName()}") # fixed string formatting button_id = event.GetId() button_by_id = self.FindWindowById(button_id) print (f"The button you pressed was labeled: {button_by_id.GetLabel()}") # fixed string formatting print (f"The button's name is {button_by_id.GetName()}") # fixed string formatting dlg = MyDialog(self, title=button.GetLabel()) dlg.ShowModal() # dlg.Destroy() #---------------------------------------------------------------------- class MyDialog(wx.Dialog): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.SetBackgroundColour((255,255,255)) title = kwargs['title'] sizer = wx.BoxSizer(wx.VERTICAL) label = wx.StaticText(self, -1, "This is a wx.Dialog") label2 = wx.StaticText( self, -1, f"This was created by clicking button {title}") sizer.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5) sizer.Add(label2, 0, wx.ALIGN_CENTRE|wx.ALL, 5) btnsizer = self.CreateSeparatedButtonSizer(wx.CLOSE) sizer.Add(btnsizer, 0, wx.ALIGN_CENTER|wx.ALL|wx.GROW, 5) self.SetSizer(sizer) sizer.Fit(self) # Run the program if __name__ == "__main__": app = wx.App(False) frame = MyForm() frame.Show() app.MainLoop()