Я пытаюсь отобразить (включить) комбинированный список на основе определенного элемента, выбранного в предыдущем комбинированном списке.Я пробовал много комбинаций, и не могу заставить его вести себя правильно.Он будет отображаться нормально (отключено), но я хочу, чтобы оно отображалось (включено) только при выборе определенного элемента.Я пробовал .Refresh () и EVT_COMBOBOX, и они не работают.Ниже приведен код:
#Media Quality
self.formats3 = ['-sameq','-qmax']
self.format_combo3=wx.ComboBox(self, size=(100, -1),value='Select Quality', choices=self.formats3, style=wx.CB_DROPDOWN, pos=(300,141))
quality=self.format_combo3.GetValue()
#-qmax settings
self.formats4 = ['1','2','3','4','5','6','7','8']
self.format_combo4=wx.ComboBox(self, size=(30, -1),value='0', choices=self.formats4, style=wx.CB_DROPDOWN, pos=(405,141))
self.format_combo4.Disable()
if quality == '-qmax':
self.format_combo4.Enable()
else:
self.format_combo4.Disable()
Решение:
#-qmax settings
self.formats4 = ['1','2','3','4','5','6','7','8']
self.format_combo4=wx.ComboBox(panel, size=(30, -1),value='0', choices=self.formats4, style=wx.CB_DROPDOWN, pos=(405,111))
self.format_combo4.Disable()
#Media Quality
self.formats5 = ['Select Preset','video to mp3']
self.format_combo5=wx.ComboBox(panel, size=(100, -1),value='Select Preset', choices=self.formats5, style=wx.CB_DROPDOWN, pos=(300,141))
#Bit rate
self.formats6 = ['k/bs','128000', '160000', '180000', '192000']
self.format_combo6=wx.ComboBox(panel, size=(47, -1),value='k/bs', choices=self.formats6, style=wx.CB_DROPDOWN, pos=(405,141))
self.format_combo6.Disable()
def OncomboBox(self, e):
quality=self.format_combo3.GetValue()
if quality == '-qmax':
self.format_combo4.Enable()
else:
self.format_combo4.Disable()