Community › Forum › Coding › Supporto Python › Addon “ListBox” Taggato: combobox, listbox, script Questo topic ha 4 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 2 anni, 7 mesi fa da Franco Cappellaro. Stai visualizzando 5 post - dal 1 a 5 (di 5 totali) Autore Post Franco CappellaroPartecipante @golia 9 Febbraio 2021 alle 22:00 #840798 Ciao, vorrei provare a fare un’addon su misura per le mie esigenze. Studiando un pò le basi di Python e con vari esempi trovati in rete ho fatto (con molta fatica) un’esempio “ComboBox” che vi allego sotto Adesso sto cercando di farmi l’esempio “ListBox” ma non ne dò fuori… Nei Templates degli script c’è UI_List, però mi sembra sia solo per listare le proprietà di blender (spero di sbagliarmi) e comunque non riesco a capire come adattarlo in semplici stringhe di testo come ho fatto con combobox. Qualcuno potrebbe aiutarmi? Grazie mille P.S. non so come allegare il codice, lo incollo qui sotto import bpy bl_info = { “name”: “comoboxTest”, “description”: “prova combobox”, “author”: “franco”, “version”: (0, 0, 1), “blender”: (2, 91, 0), “location”: “View3D”, “wiki_url”: “”, “category”: “3D View” } def comboCanged(self, context): current = bpy.context.scene.comboBox print(“change to: “, current) def updateComboContent(cItems): if cItems: bpy.types.Scene.comboBox = bpy.props.EnumProperty( items=cItems, name=”Items”, description=”Item”, default=None, update=comboCanged ) def mySceneProperties(): comboItems = [ (“no_items”, “No items”, “”, 1), ] updateComboContent(comboItems) class myButton(bpy.types.Operator): bl_label = “Button” bl_idname = “b.action” bl_description = “My button” def execute(self, context): comboItems = [ (“b15”, “Base da 15”, “”, 1), (“b30”, “Base da 30”, “”, 2), (“b45”, “Base da 45”, “”, 3), (“b60”, “Base da 60”, “”, 4), (“b90”, “Base da 90”, “”, 5), (“no_items”, “No items”, “”, 6), ] updateComboContent(comboItems) try: bpy.context.scene.comboBox = bn except: bpy.context.scene.comboBox = “no_items” return {‘FINISHED’} class myButton1(bpy.types.Operator): bl_label = “Button1” bl_idname = “b.action1” bl_description = “My button1” def execute(self, context): comboItems = [ (“b304c”, “Base da 30 4 cassetti”, “”, 1), (“b454c”, “Base da 45 4 cassetti”, “”, 2), (“b604c”, “Base da 60 4 cassetti”, “”, 3), (“b904c”, “Base da 90 4 cassetti”, “”, 4), (“b452c”, “Base da 45 2 cestoni”, “”, 5), (“b902c”, “Base da 90 2 cestoni”, “”, 6), (“no_items”, “No items”, “”, 7), ] updateComboContent(comboItems) try: print(“Errore”) except: bpy.context.scene.comboBox = “no_items” return {‘FINISHED’} class myPanel(bpy.types.Panel): bl_label = “ComboBox” bl_space_type = ‘VIEW_3D’ bl_region_type = ‘UI’ bl_category = “ComboBox” def draw(self, context): scn = bpy.context.scene layout = self.layout col = layout.column() col.operator(“b.action”, text=”Basi”) col.operator(“b.action1″, text=”Basi cassetti”) col.prop(scn, “comboBox”, text=””) classes = ( myButton, myButton1, myPanel ) def register(): from bpy.utils import register_class mySceneProperties() for cls in classes: register_class(cls) def unregister(): from bpy.utils import unregister_class for cls in classes: unregister_class(cls) if __name__ == “__main__”: register() Alessandro PassarielloPartecipante @alessandro-passariello 9 Febbraio 2021 alle 22:31 #840806 @mugnozzo dai uno sguardo? Franco CappellaroPartecipante @golia 9 Febbraio 2021 alle 22:45 #840811 Intanto il codice lo metto quà https://drive.google.com/file/d/1nI-8EQHjCLWJnurdUxMd3eJ_uCf5c5rp/view?usp=sharing grazie Alek MugnozzoPartecipante @mugnozzo 11 Febbraio 2021 alle 8:42 #840891 Ciao Franco, Non ho capito di preciso cosa hai intenzione di fare. Fammi sapere di preciso cosa vuoi fare e cosa non ti sta riuscendo, che vedo di darti una mano. Grazie! Franco CappellaroPartecipante @golia 11 Febbraio 2021 alle 11:10 #840892 Ciao Alek, grazie per avermi risposto! Devo fare una listbox, popolata da stringhe di testo e che al click di una stringa mi restituisca un id o la stringa stessa. Qui un’immagine di cosa vorrei fare https://drive.google.com/file/d/1MnDZ4NqA_fwbpNg9stZMuKcyiOJu_af2/view?usp=sharing Intanto stavo provando (senza successo) e ti allego la prova che così forse ti è più facile. https://drive.google.com/file/d/1_L8iqBNa7BKXdgJtz0BnMzGU9kw5K4c2/view?usp=sharing Grazie mille, buona giornata Autore Post Stai visualizzando 5 post - dal 1 a 5 (di 5 totali) Devi essere connesso per rispondere a questo topic. Accesso Nome utente: Password: Mantienimi connesso Accesso