Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[wxPython][newbe] à quoi servent les identifiants ?

3 réponses
Avatar
JB Richet
ces fameux identifiants, je vois bien qu'il y en a partout, que chaque
élément graphique est initialisé par Boa avec un identifiant unique
généré automatiquement grâce à wxNewId() (ce qui m'a permis de réviser
les fonctions map et lambda au passage).

alors, ok, chacun de ces éléments possède un identifiant unique. Et
après ? à quoi ça sert ?

ces numéros sont-ils visibles uniquement à l'intérieur de la fenêtre ou
visibles depuis les autres fenêtres du programme ?

je n'ai peut-être pas bien cherché, mais je n'ai pas trouvé de réponse
claire dans les tutoriaux à ce sujet.

merci de m'éclairer.
JBR

3 réponses

Avatar
Xavier Combelle
alors, ok, chacun de ces éléments possède un identifiant unique. Et
après ? à quoi ça sert ?


A permettre de "nommer" l'élément, et de les passer à d'autres fonctions
qui attendent un objet graphique (comme les fonctions pour metre des
rollback)
EVT_MENU(self, ID_ABOUT, self.OnAbout)

Cet exemple est tiré du tutoriel python
http://www.wxpython.org/tut-part1.php

Dans ce tutoriel, ils choisissent eux même les identifiants.


A mon avis, tout ce qui est fait avec un identifiant pourrait utiliser
un objet. Je vois plusieurs avantages à utiliser un identifiant:
- C'est le même identifiant quelque soit le langage, ou même au travers
du réseau.
- Les numéros d'identifiant peuvent être choisi de façon libre, de façon
à ordonner les objets: par exemple les boutons seraient entre 1000 et
1999, les fenêres entre 2000 et 2999, ...
Si on trace tous les évennements arrivants, c'est un moyen simple de
savoir ce qui est arivé.


Amicalement,
Xavier

Avatar
JB Richet
j'y vois à peu près clair maintenant. reste à trouver de bonnes
pratiques pour rendre le code clair...

merci à tous les deux.
JBR
Avatar
François
JB Richet wrote:
ces fameux identifiants, je vois bien qu'il y en a partout, que chaque
élément graphique est initialisé par Boa avec un identifiant unique
généré automatiquement grâce à wxNewId() (ce qui m'a permis de réviser
les fonctions map et lambda au passage).

alors, ok, chacun de ces éléments possède un identifiant unique. Et
après ? à quoi ça sert ?


à identifier les fenetres :o)

... pour les retrouver plus tard, par exemple avec GetWindowById().


ces numéros sont-ils visibles uniquement à l'intérieur de la fenêtre ou
visibles depuis les autres fenêtres du programme ?



toutes les fenetres ont une méthode GetId() qui retourne ce fameux
identifiant

je n'ai peut-être pas bien cherché, mais je n'ai pas trouvé de réponse
claire dans les tutoriaux à ce sujet.

merci de m'éclairer.
JBR