Orj*_*anp 16 python wxwidgets wxpython
我没有找到更好的方法来改变wx.ComboBox()中的不同选择,而不是将旧的ComboBox与新的交换.有没有更好的办法?
Oerjan Pettersen
#!/usr/bin/python
#20_combobox.py
import wx
import wx.lib.inspection
class MyFrame(wx.Frame):
    def __init__(self, *args, **kwargs):
        wx.Frame.__init__(self, *args, **kwargs)
        self.p1 = wx.Panel(self)
        lst = ['1','2','3']
        self.st = wx.ComboBox(self.p1, -1, choices = lst, style=wx.TE_PROCESS_ENTER)
        self.st.Bind(wx.EVT_COMBOBOX, self.text_return)
    def text_return(self, event):
        lst = ['3','4']
        self.st = wx.ComboBox(self.p1, -1, choices = lst, style=wx.TE_PROCESS_ENTER)
class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, '20_combobox.py')
        frame.Show()
        self.SetTopWindow(frame)
        return 1
if __name__ == "__main__":
    app = MyApp(0)
#    wx.lib.inspection.InspectionTool().Show()
    app.MainLoop()
Run Code Online (Sandbox Code Playgroud)
    Moe*_*Moe 30
wx.ComboBox派生自wx.ItemContainer,它有附加,清除,插入和删除项的方法,所有这些方法都可以在wx.ComboBox上找到.
执行所需操作的一种方法是定义text_return()方法,如下所示:
def text_return(self, event):
    self.st.Clear()
    self.st.Append('3')
    self.st.Append('4')
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           22341 次  |  
        
|   最近记录:  |