Apr-23-2019, 05:38 AM
Hey Guys, I'm new to Python Programming and have a major doubt about adding a window to a button inside the GUI. Could any of you guide me how and where I can add a window to a button? I'm a little unsure about the coding aspect as well. Here is the Current Code I'm using:
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)
#----------------------------------------------------------------------
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 ("The button you pressed was labeled ") + button.GetLabel()
print ("The button's name is ") + button.GetName()
button_id = event.GetId()
button_by_id = self.FindWindowById(button_id)
print ("The button you pressed was labeled: ") + button_by_id.GetLabel()
print ("The button's name is ") + button_by_id.GetName()
#----------------------------------------------------------------------
# Run the program
if __name__ == "__main__":
app = wx.App(False)
frame = MyForm()
frame.Show()
app.MainLoop()
