Community Forum Coding Supporto Python Addon “ListBox”

Taggato: , ,

Stai visualizzando 5 post - dal 1 a 5 (di 5 totali)
  • Autore
    Post
  • Franco Cappellaro
    Partecipante
    @golia
    #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 :unsure:

    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 Passariello
    Partecipante
    @alessandro-passarielloBIACTAssociatoLP Instructor
    #840806

    @mugnozzo dai uno sguardo?

    Franco Cappellaro
    Partecipante
    @golia
    #840811

    Intanto il codice lo metto quà https://drive.google.com/file/d/1nI-8EQHjCLWJnurdUxMd3eJ_uCf5c5rp/view?usp=sharing

    grazie

    Alek Mugnozzo
    Membro
    @mugnozzoAssociatoLP InstructorPRO
    #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 Cappellaro
    Partecipante
    @golia
    #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

     

     

Stai visualizzando 5 post - dal 1 a 5 (di 5 totali)
  • Devi essere connesso per rispondere a questo topic.