2015-09-05 4 views
0

Я пытаюсь обновить список огней на сцене. Для этого я сохраняю последний список и удаляю все элементы и создаю новые на основе нового списка ... Он удаляет все элементы просто отлично, но когда я пытаюсь обновить их новыми, он просто сбой и говорит:Обновление динамических элементов

RuntimeError: Имя объекта 'textName1' не уникально. #

Это, судя по всему, удаляется, не так ли?

это код этой части ..

def updateList(self, name, totalLgt, *args): 
    print "update %s" % name 
    #create new buttons 

    self.text = pm.text('textName'+str(totalLgt), label="Name: %s" %name) 
    self.button = pm.button('btnName'+str(totalLgt), label="ON" ,command = lambda *args: self.turnOn(totalLgt, name)) 
    self.button = pm.button('btnNameS'+str(totalLgt), label="SOLO", command = lambda *args: self.turnSolo(totalLgt, name)) 

def update(self, totalLgt,lis, *args): 
    totalLgt = 0 
    for lgt in lis: 
     totalLgt += 1 

    i = 1 
    print "updatea" 
    print lis 
    for i in range(totalLgt): 
     if (pm.window('textName'+str(i+1), exists=True)): 
     pm.deleteUI('textName'+str(i+1), control = True) 
     pm.deleteUI('btnName'+str(i+1), control = True) 
     pm.deleteUI('btnNameS'+str(i+1), control = True) 

    lisN = pm.ls(type='light') 
    totalLgt = 0 
    #list all lights in scene 
    for lgt in lisN: 
     totalLgt += 1 
     nameLgt = lgt.longName() 
     name = nameLgt.split("|")[1] 
     self.updateList(name, totalLgt) 

отпечатками списка и новый список правильны, так что я не знаю, почему она не ...

ответ

0

Я сделал он работает с добавлением макета со всеми кнопками и удалением этого макета =)