python - updating either a static text or textctrl *read only* upon selection of an item in a choice box -


basically, i'm trying either static label or read textctrl change it's price accordingly item selected in choice widget. lists item_id's , respective prices share same indexes despite being on 2 different lists given simultaneous creation... thing no matter item select, price remains same either way code above has static text method... read textctrl turned out same ideas on can done?

the code of dialog in question

class additemorder ( wx.dialog ):      def __init__( self, parent,entryit ):             wx.dialog.__init__ ( self, parent, id = wx.id_any, title = u"add item", pos = wx.defaultposition, size = wx.size( 285,173 ), style = wx.default_dialog_style )             self.entryit = entryit             self.setsizehintssz( wx.defaultsize, wx.defaultsize )             self.ite = i.item()             bsizer25 = wx.boxsizer( wx.vertical )              gsizer9 = wx.gridsizer( 2, 2, 0, 0 )              self.m_statictext34 = wx.statictext( self, wx.id_any, u"item id", wx.defaultposition, wx.defaultsize, 0 )             self.m_statictext34.wrap( -1 )             gsizer9.add( self.m_statictext34, 0, wx.all|wx.align_center_horizontal|wx.align_center_vertical, 5 )              self.m_choice2choices = []             self.create_choices(self.m_choice2choices)             self.item_id = wx.choice( self, wx.id_any, wx.defaultposition, wx.defaultsize, self.m_choice2choices, 0 )             self.item_id.setselection( 0 )             self.item_id.bind(evt_choice,self.get_index)             gsizer9.add( self.item_id, 0, wx.all|wx.align_center_vertical|wx.align_center_horizontal, 5 )              self.m_statictext17 = wx.statictext( self, wx.id_any, u"item price", wx.defaultposition, wx.defaultsize, 0 )             self.m_statictext17.wrap( -1 )             gsizer9.add( self.m_statictext17, 0, wx.all|wx.align_center_horizontal|wx.align_center_vertical, 5 )              self.order_price = wx.statictext( self, wx.id_any, str(self.prices[self.item_id.getselection() ]), wx.defaultposition, wx.defaultsize, 0 )             self.order_price.wrap( -1 )             self.order_price.setlabel(str(self.prices[self.item_id.getselection() ]))             gsizer9.add( self.order_price, 0, wx.all|wx.align_center_horizontal|wx.align_center_vertical, 5 )                self.m_statictext35 = wx.statictext( self, wx.id_any, u"item qty", wx.defaultposition, wx.defaultsize, 0 )             self.m_statictext35.wrap( -1 )             gsizer9.add( self.m_statictext35, 0, wx.all|wx.align_center_horizontal|wx.align_center_vertical, 5 )              self.item_qty = wx.textctrl( self, wx.id_any, wx.emptystring, wx.defaultposition, wx.size( 120,-1 ), 0 )             gsizer9.add( self.item_qty, 0, wx.all|wx.align_center_horizontal|wx.align_center_vertical, 5 )              bsizer25.add( gsizer9, 1, wx.expand, 5 )              self.m_button19 = wx.button( self, wx.id_any, u"ok", wx.defaultposition, wx.defaultsize, 0 )             self.m_button19.bind(wx.evt_button, self.ok)              bsizer25.add( self.m_button19, 0, wx.all|wx.align_center_horizontal|wx.expand, 5 )              self.setsizer( bsizer25 )             self.layout()              self.centre( wx.both ) 

the create choices , index functions

    def create_choices(self,event):         self.prices = []         entry in self.ite.entries:             self.custom = entry.item_id             self.custompr = entry.item_price             self.prices.append(self.custompr)             self.m_choice2choices.append(self.custom)         return self.m_choice2choices      def get_index(self,event):         self.currindex = self.item_id.getselection()         return self.currindex    

when want change text shown statictext (presumably when evt_choice handler in case) need call statictext's setlabel method new text. so, this:

newtext = str(self.prices[self.currindex]) self.m_statictext17.setlabel(newtext) 

Comments

Popular posts from this blog

python - How to create a legend for 3D bar in matplotlib? -

java - Multi-Label Document Classification -

php - Dynamic url re-writing using htaccess -