afficher les bonnes d'ne armature dans une UIList
Fou Furieux du Clan
Inscrit:
31/10/2007 22:45
Post(s): 107
Bonjour,

Sauriez vous si il est possible d'afficher les bones d'une armature dans un panel de type liste?

Les type de UIlist ne semble pas le permettre.

UIList

Bonne journée,

Contribution le : 02/03/2020 10:47
Créer un fichier PDF de la contribution Imprimer


Re: afficher les bonnes d'ne armature dans une UIList
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2896
Salut Pierre-y,

C'est possible, les UIList sont faites pour ça (il faut d'abord créer une CollectionProperty, et la remplir avec les bones de l'armature. Ensuite cette CollectionProperty doit être passée en argument dans la fonction qui appelle l'UIList. Un petit exemple pratique, attention le code est pas testé, j'ai extrait rapidement des bouts de code d'un de mes addons, mais ça permet de comprendre la logique dans les grandes lignes:

Créer la collection property, dans la fonction "register" de l'addon:
bpy.types.Scene.bones_map = bpy.props.CollectionProperty(type=CustomProp)


Et une property index pour attribuer un index actif à cette liste (la rangée sélectionnée):
bpy.types.Scene.bones_map_index = bpy.props.IntProperty()



La classe CustomProp:
class CustomProp(bpy.types.PropertyGroup):
    '''name = bpy.props.StringProperty() '''



La fonction appelée pour remplir la collection property:
def _build_bones_list():
    scene = bpy.context.scene
    pose_bones = bpy.context.active_object.pose.bones

    for i in pose_bones:
        item = scene.bones_map.add()
        item.name = i.name

    scene.bones_map_index = 0



La classe UIList:
class EX_UL_items(UIList):
    def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index):
        layout.prop(item, "name", text="", emboss=False, translate=False)

    def invoke(self, context, event):
        pass



Afficher l'UIList dans un Panel:
row = layout.row(align=True)
row.template_list("EX_UL_items", "", scene, "bones_map", scene, "bones_map_index", rows=1)

Contribution le : 02/03/2020 17:01
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer


Re: afficher les bonnes d'ne armature dans une UIList
Fou Furieux du Clan
Inscrit:
31/10/2007 22:45
Post(s): 107
A merci c'est super intéressant, j'avais cherché mais en voyant les subclasses de l'UIList je m'étais demandé.

Bonne fin de soirée,

Contribution le : 02/03/2020 17:58
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses Texture des plastiques "Lego" 1 31 Hier 21:44:39
lucky 
[WIP] et travaux terminés [WIP] La gabarre '' Le Gros Ventre''    [1][2][3]...[5] 41 2955 Hier 21:32:46
meltingman 
Moteur de jeu GameBlender et alternatives Dulcis - Démo de RPG sur Unity 8 201 Hier 21:17:13
Bibi09 
Questions & Réponses Soucis dépliage UV 1 31 Hier 18:30:22
moonboots 
Hors Sujet !! Tuto débutant : un hippocampe - #1 le Maillage de base 0 24 Hier 15:51:07
meltingman 
Questions & Réponses Crash intempestif 2.91 4 51 Hier 15:13:32
lucky 
[WIP] et travaux terminés [WIP] Projet Darwin (nom temporaire)    [1][2][3]...[5] 40 7356 Hier 14:28:37
Bibi09 
Questions & Réponses congés    [1][2] 14 6365 14/01 01:28:11
meltingman 
Questions & Réponses [résolu] Copie sur DD externe corrompue 4 153 13/01 23:09:31
Carne 
Le coin des geeks Amd vs Nvidia    [1][2][3] 21 368 13/01 17:20:48
Lylo 
Questions & Réponses [résolu] faces qui disparaissent v2.91 1 72 13/01 16:26:05
skatekitchen 
[WIP] et travaux terminés [WIP] Avion de combat    [1][2][3]...[9] 86 14830 13/01 13:49:57
Guiu 
Hors Sujet !! Booster sa créativité sur Blender - tuto de configuration 0 67 12/01 23:07:59
meltingman 
Questions & Réponses Dynamic paint 2 149 11/01 21:05:18
JaAlVir657 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[48] 475 146937 11/01 19:16:24
sbkodama 
Questions & Réponses Forme inattendue sur Astronaute 9 373 11/01 13:18:45
Riz_Tah 
Questions & Réponses Blender n'utilise que 3% de ma carte graphique    [1][2] 18 440 10/01 19:50:02
lapineige 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Nouveau mode de jeu en développement !    [1][2][3]...[65] 647 118336 10/01 14:16:37
rikoo 
Questions & Réponses carte graphique    [1][2][3] 20 485 09/01 19:55:00
Bibi09 
Hors Sujet !! Discord D'entraide communautaire BC2.0 0 129 09/01 17:22:40
meltingman 

Qui est en ligne
86 utilisateur(s) en ligne (dont 48 sur Forums)

Membre(s): 0
Invité(s): 86


plus...
Nouveaux membres
VeraWainew 16/1/2021
AONSung005 16/1/2021
KiraI40925 16/1/2021
Robbin1470 16/1/2021
PamFoveaux 16/1/2021
TrudyDahms 16/1/2021
StacyDomin 15/1/2021
TinaForney 15/1/2021
PaulineShu 15/1/2021
MaddisonGe 15/1/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Fev 15
Anniversaire de Dany
Fev 23
anniversaire de windspirit
Mar 14
Anniversaire de AMV12
plus 261 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445