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 10:47:25
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): 2820
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 17:01:50
_________________
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 17:58:06
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
[WIP] et travaux terminés Différents rendus 2.91 9 119 Aujourd'hui 12:05:20
Bibi09 
[WIP] et travaux terminés La mare aux canards 8 49 Aujourd'hui 11:13:35
Rimpotche 
Questions & Réponses Render Layers qui n'apparaissent pas    [1][2] 10 82 Aujourd'hui 11:02:12
HarDrive 
The Blender Clan 'tchat Benchmark EEVEE    [1][2][3] 23 706 Hier 18:12:12
Bibi09 
Questions & Réponses Problème perso qui bouge des 2 côtés qu'avec 1 coté de l'armature et pas de l'autre    [1][2] 12 1862 Hier 15:14:53
Rimpotche 
The Blender Clan 'tchat Avenir du blender clan    [1][2][3]...[13] 123 7980 Hier 11:39:51
Bibi09 
Hors Sujet !! Nouveau tutoriel : Animation labiale simplifiée 2.9 3 63 Hier 10:07:35
moonboots 
Questions & Réponses [résolu] Problème avec les addons 2 70 Hier 09:42:19
Lamoyse 
Questions & Réponses SCAN 3D - Carrière - animation 6 78 Hier 07:23:48
Versatil 
Questions & Réponses [résolu] Texture Image en noir dans le rendu 3 173 23/09 15:10:30
Horemheb 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[47] 467 140047 23/09 13:20:39
sbkodama 
Questions & Réponses [non résolu] Move to collection 8 101 22/09 21:15:48
JaAlVir657 
Questions & Réponses Boids, boids, boids...    [1][2] 18 316 22/09 20:53:24
JaAlVir657 
Python & Plugins [WIP] Transportation Add-on pour Blender 5 307 22/09 20:12:35
ferrari6 
[WIP] et travaux terminés Blender 2.9 les outils du sculpte 0 52 22/09 19:51:11
meltingman 
[WIP] et travaux terminés [WIP] Kanata et personnage secret coucours Blender 3D France    [1][2][3] 25 332 22/09 19:19:34
meltingman 
Questions & Réponses [non résolu] Simulation Tissu Temps Reel    [1][2] 14 231 22/09 16:57:22
ThierryT 
[WIP] et travaux terminés [WIP] Teeny Tiny - Story    [1][2][3]...[10] 99 7590 21/09 16:28:45
meltingman 
Le coin des geeks gain de fluidité viewport entre ryzen 3900X et 3950X    [1][2][3] 27 573 21/09 12:12:59
papillon 
Le coin des geeks Ralentissement du chargement de Blender 8 187 20/09 17:43:54
Rimpotche 

Qui est en ligne
101 utilisateur(s) en ligne (dont 56 sur Forums)

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


plus...
Nouveaux membres
JeffryMerr 25/9/2020
JeffereyGe 25/9/2020
TonySipes3 25/9/2020
VanceGiven 25/9/2020
RosaCooper 25/9/2020
HassanSali 25/9/2020
BriceVincent 23/9/2020
Versatil 23/9/2020
Guiu 22/9/2020
ThierryT 20/9/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
Jan 9
BUG de Lyon
plus 264 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2020 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445