2016-05-05 14 views
-1

Ich versuche, eine Benutzeroberfläche zu erstellen, die je nachdem, was ein Benutzer auswählt aktualisiert wird. Mein erster Gedanke war, das UI-Element zu löschen, wenn es existierte, und es durch ein neues mit neuen Elementen zu ersetzen. Ich habe mich nach einer Antwort umgesehen, und wenn es da draußen eine gibt, bin ich zu neu, um es zu verstehen. Ich habe ein Rahmenlayout, das eine Textliste enthält. Wenn in dieser Liste etwas ausgewählt wird, wird eine Funktion aufgerufen, um den Teil der Benutzeroberfläche zu erstellen, der mit Steuerelementen gefüllt wird. Ich bekomme den Fehler "NameError: Name 'SpalteLayout' ist nicht definiert". hier ist der Teil des Codes, ich habe Probleme mit:Ersetzen von UI-Elementen je nach Benutzerauswahl

if columnLayout(button_layout,exists = True): 
    cmds.deleteUI(button_layout) 
button_layout = 'button_layout' 
ui_elements['column'] = cmds.columnLayout(button_layout) 
ui_elements['buttons1']= cmds.button() 
ui_elements['buttons2']=cmds.button() 
ui_elements['buttons3']=cmds.button() 

cmds.formLayout(ui_elements['form_layout'], edit=True, attachForm=[(ui_elements['column'], 'top', 5), (ui_elements['column'], 'right', 20) ]) 

cmds.showWindow(window) 

ui_elements [ ‚form_layout‘] wird in der vorherige Funktion erstellt. Ich schätze jede mögliche Hilfe, als Sie sehr viel

Antwort

0

Sie haben

+0

oh wow, das ist Art von Redic von mir cmds vor columnLayout in der ersten Zeile aufhörte. Aber selbst nachdem ich das wieder eingefügt habe (es ist dort in meinem ursprünglichen Code) bekomme ich immer noch einen Laufzeitfehler: RuntimeError: Objekt 'window12 | formLayout133 | textScrollList33' nicht gefunden. – crusnik

+0

Zumindest im angegebenen Code erstellen Sie nicht die Textliste. Wenn Sie das Fenster zwischen den Läufen gelöscht haben, haben Sie möglicherweise einen dangling Verweis auf ein FormularLayout, das nicht mehr da ist – theodox

Verwandte Themen