Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Python: ComboBoxin ja ToggleButtonin käyttö

koodaaja [03.09.2020 15:35:02]

#

Tässä on esimerkki wxPython-kirjaston ComboBoxin ja ToggleButtonin käytöstä. ToggleButtonin arvo voi olla True tai False.

import wx

valinta = 0

class Mywin(wx.Frame):
    def __init__(self,parent,title):
        super(Mywin,self).__init__(parent,title=title,size=(300,300))
        panel = wx.Panel(self)
        box = wx.BoxSizer(wx.VERTICAL)
        #Laatikko
        self.combo = wx.ComboBox(panel,choices=["kodinkoneet","pienkoneet","viihde_elektroniikka"],style=wx.CB_DROPDOWN)
        box.Add(self.combo,1,wx.EXPAND)
        box.AddStretchSpacer()
        #Näppäin
        self.tbtn = wx.ToggleButton(panel,-1,"Paina")
        box.Add(self.tbtn,0,wx.EXPAND)

        #Lisätään kuuntelijat.
        self.combo.Bind(wx.EVT_COMBOBOX,self.OnCombo)
        self.tbtn.Bind(wx.EVT_TOGGLEBUTTON,self.OnToggle)
        panel.SetSizer(box)
        self.Centre()
        self.Show()


    def OnToggle(self,event):
        global valinta
        #Asetetaan joko valittu laitetyyppi tai valitsemattomat laitetyypit
        state = event.GetEventObject().GetValue()
        if state == True:
            #Valittu laitetyyppi
            if (valinta == 1):
                print("jaakaappi liesi pesukone kuivausrumpu mikroaaltouuni")
            elif (valinta == 2):
                print("yleiskone kahvinkeitin leivanpaahdin vohvelirauta tehosekoitin")
            elif (valinta == 3):
                print("televisio pelikonsoli bluray-soitin stereto MP3-soitin")

        else:
            #Valitsemattomat laitetyypit
            if (valinta != 1):
                print("jaakaappi liesi pesukone kuivausrumpu mikroaaltouuni")
            if (valinta != 2):
                print("yleiskone kahvinkeitin leivanpaahdin vohvelirauta tehosekoitin")
            if (valinta != 3):
                print("televisio pelikonsoli bluray-soitin stereto MP3-soitin")
        print("")
    def OnCombo(self,event):
        global valinta
        #Tehdään valinta.
        mjono = self.combo.GetValue()
        if (mjono == "kodinkoneet"):
            valinta = 1
        elif (mjono == "pienkoneet"):
            valinta = 2
        elif (mjono == "viihde_elektroniikka"):
            valinta = 3

app = wx.App()
Mywin(None,"Laitteet")
app.MainLoop()

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta