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): 2903
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 Utilisation des layers 3 53 Aujourd'hui 14:35:03
meltingman 
Questions & Réponses Soucis dépliage UV 2 83 Aujourd'hui 11:27:04
benboul62 
Questions & Réponses Couleur des cheveux 4 104 Hier 22:56:14
Lylo 
Questions & Réponses nodes texture 1 43 Hier 20:34:43
kimlicrea 
[WIP] et travaux terminés [WIP] La gabarre '' Le Gros Ventre''    [1][2][3]...[5] 46 3268 Hier 15:23:26
Guiu 
Hors Sujet !! Tuto débutant : un hippocampe - #1 le Maillage de base 1 107 17/01 17:09:46
meltingman 
Questions & Réponses [résolu] Utilisation des textures 7 93 17/01 16:26:51
lucky 
Hors Sujet !! Blobs Opera 3 101 17/01 12:30:04
moonboots 
Questions & Réponses [non résolu] Différence entre le viewport et le rendu dans une simulation de particule. 3 134 16/01 23:31:29
lucky 
Questions & Réponses Problème de clic gauche poisseux dans nouveau Blender    [1][2] 10 462 16/01 16:55:15
moonboots 
[WIP] et travaux terminés Animation Nodes & MIDI    [1][2] 10 2122 16/01 15:51:09
WinZs 
Moteur de jeu GameBlender et alternatives Dulcis - Démo de RPG sur Unity    [1][2] 12 384 16/01 12:51:47
meltingman 
[WIP] et travaux terminés [WIP] Avion de combat    [1][2][3]...[9] 87 15038 16/01 02:15:02
meltingman 
Questions & Réponses Texture des plastiques "Lego" 1 94 15/01 21:44:39
lucky 
Questions & Réponses Crash intempestif 2.91 4 100 15/01 15:13:32
lucky 
[WIP] et travaux terminés [WIP] Projet Darwin (nom temporaire)    [1][2][3]...[5] 40 7516 15/01 14:28:37
Bibi09 
Questions & Réponses congés    [1][2] 14 6474 14/01 01:28:11
meltingman 
Questions & Réponses [résolu] Copie sur DD externe corrompue 4 198 13/01 23:09:31
Carne 
Le coin des geeks Amd vs Nvidia    [1][2][3] 21 516 13/01 17:20:48
Lylo 
Questions & Réponses [résolu] faces qui disparaissent v2.91 1 121 13/01 16:26:05
skatekitchen 

Qui est en ligne
193 utilisateur(s) en ligne (dont 119 sur Forums)

Membre(s): 4
Invité(s): 189


ShannaWum8, ValerieVal, EzraGrisso, lucky, plus...
Nouveaux membres
ElsaStones 19/1/2021
ClemmieMcL 19/1/2021
ValerieVal 19/1/2021
GNFYvonne 19/1/2021
EdwardAach 19/1/2021
MarceloOsb 19/1/2021
ShannaWum8 19/1/2021
RandyR9327 19/1/2021
MagdaMaum 19/1/2021
DorethaG72 19/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