Dans une des applis que j'essaye de développer à titre d'essai, je me
trouve avec un nombre variable d'objets circulaires identiques à tracer dans
un canevas. Ce nombre est fonction d'un certain nombre de paramètres, et est
stocké dans une variable entière. La position des cercles (centres) est
stockée dans une liste de listes :
[ [1, 5], [4, 3], [17, 25], [48, 52], [0, 0], [0, 0], [0, 0]..... ]
Je ne sais pas comment gérer cette partie de l'application. Si je
déclare un seul objet cercle, il n'y en aura au final qu'un seul tracé. Si
j'en déclare plusieurs, c'est très lourd (j'ai essayé cercle[i] dans une
boucle, mais ça ne marche pas).
Si quelqu'un a une idée...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Brunel
On Sun, 16 Jul 2006 22:02:41 +0200, H. wrote:
Bonsoir...
Dans une des applis que j'essaye de développer à titre d'essai, je me trouve avec un nombre variable d'objets circulaires identiques à tracer dans un canevas.
Donc dans une application graphique, n'est-ce pas? Quel est le toolkit utilisé?
Ce nombre est fonction d'un certain nombre de paramètres, et est stocké dans une variable entière. La position des cercles (centres) est stockée dans une liste de listes : [ [1, 5], [4, 3], [17, 25], [48, 52], [0, 0], [0, 0], [0, 0]..... ]
Je ne sais pas comment gérer cette partie de l'application. Si je déclare un seul objet cercle, il n'y en aura au final qu'un seul tracé.
"Déclare"? Il n'y a pas de déclaration en Python. Pourrait-on voir un bout de code (même qui ne marche pas)?
Si j'en déclare plusieurs, c'est très lourd (j'ai essayé cercle[i] dans une boucle, mais ça ne marche pas).
Pourquoi "ça ne marche pas"? Ca génère une erreur? Ca ne fait pas ce que tu attends?
Si quelqu'un a une idée...
Oui, plein, oui. Mais sans plus de détails sur le contexte, ça va être dur de t'aider efficacement... Voilà tout de même un petit bout de code qui fait ce que je comprends que tu veux avecTkinter:
-------------------------------- from Tkinter import *
HTH quand même... -- python -c "print ''.join([chr(154 - ord(c)) for c in 'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
On Sun, 16 Jul 2006 22:02:41 +0200, H. <ribolzi.christophe_@_wanadoo.fr>
wrote:
Bonsoir...
Dans une des applis que j'essaye de développer à titre d'essai, je me
trouve avec un nombre variable d'objets circulaires identiques à tracer
dans
un canevas.
Donc dans une application graphique, n'est-ce pas? Quel est le toolkit
utilisé?
Ce nombre est fonction d'un certain nombre de paramètres, et est
stocké dans une variable entière. La position des cercles (centres) est
stockée dans une liste de listes :
[ [1, 5], [4, 3], [17, 25], [48, 52], [0, 0], [0, 0], [0, 0]..... ]
Je ne sais pas comment gérer cette partie de l'application. Si je
déclare un seul objet cercle, il n'y en aura au final qu'un seul tracé.
"Déclare"? Il n'y a pas de déclaration en Python. Pourrait-on voir un bout
de code (même qui ne marche pas)?
Si
j'en déclare plusieurs, c'est très lourd (j'ai essayé cercle[i] dans une
boucle, mais ça ne marche pas).
Pourquoi "ça ne marche pas"? Ca génère une erreur? Ca ne fait pas ce que
tu attends?
Si quelqu'un a une idée...
Oui, plein, oui. Mais sans plus de détails sur le contexte, ça va être dur
de t'aider efficacement... Voilà tout de même un petit bout de code qui
fait ce que je comprends que tu veux avecTkinter:
--------------------------------
from Tkinter import *
Dans une des applis que j'essaye de développer à titre d'essai, je me trouve avec un nombre variable d'objets circulaires identiques à tracer dans un canevas.
Donc dans une application graphique, n'est-ce pas? Quel est le toolkit utilisé?
Ce nombre est fonction d'un certain nombre de paramètres, et est stocké dans une variable entière. La position des cercles (centres) est stockée dans une liste de listes : [ [1, 5], [4, 3], [17, 25], [48, 52], [0, 0], [0, 0], [0, 0]..... ]
Je ne sais pas comment gérer cette partie de l'application. Si je déclare un seul objet cercle, il n'y en aura au final qu'un seul tracé.
"Déclare"? Il n'y a pas de déclaration en Python. Pourrait-on voir un bout de code (même qui ne marche pas)?
Si j'en déclare plusieurs, c'est très lourd (j'ai essayé cercle[i] dans une boucle, mais ça ne marche pas).
Pourquoi "ça ne marche pas"? Ca génère une erreur? Ca ne fait pas ce que tu attends?
Si quelqu'un a une idée...
Oui, plein, oui. Mais sans plus de détails sur le contexte, ça va être dur de t'aider efficacement... Voilà tout de même un petit bout de code qui fait ce que je comprends que tu veux avecTkinter:
-------------------------------- from Tkinter import *
J'ai l'habitude des langages où on doit déclarer les variables (Turbo Pascal et autres) donc l'habitude reste... Ici, je considère qu'on a créé et "déclaré" un objet cercle1. Après, on peut "mettre à jour" cet objet :
# modifications de x1 et y1 # canevas1.coords(cerlce1, x1, y1, x1+40, y1+40)
J'ai essayé cercle[i] dans une boucle, mais ça ne marche pas). Pourquoi "ça ne marche pas" ?
Erreur de syntaxe. On ne peut pas associer un indice à un objet graphique apparement... ou je ne m'y prends pas de la bonne manière...
-------------------------------- from Tkinter import *
Merci. Effectivement, ça fonctionne (enfin, ça devrait, parce que je n'ai pas testé). Mais le problème, c'est que mes objets sont créés dans le canevas, et affichés, mais ils ne sont pas associés à un *nom* qui permettrait par après de les modifier. J'ai besoin d'avoir n objets : cercle1, cercle2, cerle3.... cerclen que je puisse modifier à l'aide de la commande canevas1.coords(cerclei,...). D'où mon essai avec les indices.
Je pourrais poster un morceau de code, mais je ne l'ai pas sur cette machine (enfin, ça peut se régler, mais c'est juste pour ça que je ne poste pas tout de suite) et puis je ne crois pas que ça pourrait éclaircir le problème, toutes les données sont là. Mais si vous pensez que... je peux le mettre.
Cordialement, Christophe
P.S. : pour pas aider, le schmilblick en question se trouve dans une procédure récursive, elle-même dans une boucle mainloop()...
Eric Brunel :
[...]
Pas de soucis, je suis effectivement avec Tkinter.
Je ne sais pas comment gérer cette partie de l'application. Si je
déclare un seul objet cercle, il n'y en aura au final qu'un seul tracé.
"Déclare"? Il n'y a pas de déclaration en Python. Pourrait-on voir un bout
de code (même qui ne marche pas)?
J'appelle "déclaration" la "création" de l'objet :
J'ai l'habitude des langages où on doit déclarer les variables (Turbo
Pascal et autres) donc l'habitude reste... Ici, je considère qu'on a créé et
"déclaré" un objet cercle1.
Après, on peut "mettre à jour" cet objet :
# modifications de x1 et y1 #
canevas1.coords(cerlce1, x1, y1, x1+40, y1+40)
J'ai essayé cercle[i] dans une boucle, mais ça ne marche pas).
Pourquoi "ça ne marche pas" ?
Erreur de syntaxe. On ne peut pas associer un indice à un objet
graphique apparement... ou je ne m'y prends pas de la bonne manière...
--------------------------------
from Tkinter import *
Merci. Effectivement, ça fonctionne (enfin, ça devrait, parce que je
n'ai pas testé). Mais le problème, c'est que mes objets sont créés dans le
canevas, et affichés, mais ils ne sont pas associés à un *nom* qui
permettrait par après de les modifier.
J'ai besoin d'avoir n objets : cercle1, cercle2, cerle3.... cerclen que
je puisse modifier à l'aide de la commande canevas1.coords(cerclei,...).
D'où mon essai avec les indices.
Je pourrais poster un morceau de code, mais je ne l'ai pas sur cette
machine (enfin, ça peut se régler, mais c'est juste pour ça que je ne poste
pas tout de suite) et puis je ne crois pas que ça pourrait éclaircir le
problème, toutes les données sont là. Mais si vous pensez que... je peux le
mettre.
Cordialement,
Christophe
P.S. : pour pas aider, le schmilblick en question se trouve dans une
procédure récursive, elle-même dans une boucle mainloop()...
J'ai l'habitude des langages où on doit déclarer les variables (Turbo Pascal et autres) donc l'habitude reste... Ici, je considère qu'on a créé et "déclaré" un objet cercle1. Après, on peut "mettre à jour" cet objet :
# modifications de x1 et y1 # canevas1.coords(cerlce1, x1, y1, x1+40, y1+40)
J'ai essayé cercle[i] dans une boucle, mais ça ne marche pas). Pourquoi "ça ne marche pas" ?
Erreur de syntaxe. On ne peut pas associer un indice à un objet graphique apparement... ou je ne m'y prends pas de la bonne manière...
-------------------------------- from Tkinter import *
Merci. Effectivement, ça fonctionne (enfin, ça devrait, parce que je n'ai pas testé). Mais le problème, c'est que mes objets sont créés dans le canevas, et affichés, mais ils ne sont pas associés à un *nom* qui permettrait par après de les modifier. J'ai besoin d'avoir n objets : cercle1, cercle2, cerle3.... cerclen que je puisse modifier à l'aide de la commande canevas1.coords(cerclei,...). D'où mon essai avec les indices.
Je pourrais poster un morceau de code, mais je ne l'ai pas sur cette machine (enfin, ça peut se régler, mais c'est juste pour ça que je ne poste pas tout de suite) et puis je ne crois pas que ça pourrait éclaircir le problème, toutes les données sont là. Mais si vous pensez que... je peux le mettre.
Cordialement, Christophe
P.S. : pour pas aider, le schmilblick en question se trouve dans une procédure récursive, elle-même dans une boucle mainloop()...
Jonathan Barnoud
Eric Brunel : [...]
Pas de soucis, je suis effectivement avec Tkinter.
Je ne sais pas comment gérer cette partie de l'application. Si je déclare un seul objet cercle, il n'y en aura au final qu'un seul tracé. "Déclare"? Il n'y a pas de déclaration en Python. Pourrait-on voir un bout
de code (même qui ne marche pas)?
J'appelle "déclaration" la "création" de l'objet :
J'ai l'habitude des langages où on doit déclarer les variables (Turbo Pascal et autres) donc l'habitude reste... Ici, je considère qu'on a créé et "déclaré" un objet cercle1. Après, on peut "mettre à jour" cet objet :
# modifications de x1 et y1 # canevas1.coords(cerlce1, x1, y1, x1+40, y1+40)
J'ai essayé cercle[i] dans une boucle, mais ça ne marche pas). Pourquoi "ça ne marche pas" ?
Erreur de syntaxe. On ne peut pas associer un indice à un objet graphique apparement... ou je ne m'y prends pas de la bonne manière...
-------------------------------- from Tkinter import *
Merci. Effectivement, ça fonctionne (enfin, ça devrait, parce que je n'ai pas testé). Mais le problème, c'est que mes objets sont créés dans le canevas, et affichés, mais ils ne sont pas associés à un *nom* qui permettrait par après de les modifier. J'ai besoin d'avoir n objets : cercle1, cercle2, cerle3.... cerclen que je puisse modifier à l'aide de la commande canevas1.coords(cerclei,...). D'où mon essai avec les indices.
En créant une liste et en ajoutant les objet dans celle-ci ça ne marche pas ? J'ai testé le code ci-dessous sans difficultées. On pourrait aussi utiliser un dictionnaire. -------------------------------- from Tkinter import *
Je pourrais poster un morceau de code, mais je ne l'ai pas sur cette machine (enfin, ça peut se régler, mais c'est juste pour ça que je ne poste pas tout de suite) et puis je ne crois pas que ça pourrait éclaircir le problème, toutes les données sont là. Mais si vous pensez que... je peux le mettre.
Cordialement, Christophe
Jonathan Barnoud
P.S. : pour pas aider, le schmilblick en question se trouve dans une procédure récursive, elle-même dans une boucle mainloop()...
Eric Brunel :
[...]
Pas de soucis, je suis effectivement avec Tkinter.
Je ne sais pas comment gérer cette partie de l'application. Si je
déclare un seul objet cercle, il n'y en aura au final qu'un seul tracé.
"Déclare"? Il n'y a pas de déclaration en Python. Pourrait-on voir un bout
de code (même qui ne marche pas)?
J'appelle "déclaration" la "création" de l'objet :
J'ai l'habitude des langages où on doit déclarer les variables (Turbo
Pascal et autres) donc l'habitude reste... Ici, je considère qu'on a créé et
"déclaré" un objet cercle1.
Après, on peut "mettre à jour" cet objet :
# modifications de x1 et y1 #
canevas1.coords(cerlce1, x1, y1, x1+40, y1+40)
J'ai essayé cercle[i] dans une boucle, mais ça ne marche pas).
Pourquoi "ça ne marche pas" ?
Erreur de syntaxe. On ne peut pas associer un indice à un objet
graphique apparement... ou je ne m'y prends pas de la bonne manière...
--------------------------------
from Tkinter import *
Merci. Effectivement, ça fonctionne (enfin, ça devrait, parce que je
n'ai pas testé). Mais le problème, c'est que mes objets sont créés dans le
canevas, et affichés, mais ils ne sont pas associés à un *nom* qui
permettrait par après de les modifier.
J'ai besoin d'avoir n objets : cercle1, cercle2, cerle3.... cerclen que
je puisse modifier à l'aide de la commande canevas1.coords(cerclei,...).
D'où mon essai avec les indices.
En créant une liste et en ajoutant les objet dans celle-ci ça ne marche
pas ? J'ai testé le code ci-dessous sans difficultées. On pourrait aussi
utiliser un dictionnaire.
--------------------------------
from Tkinter import *
Je pourrais poster un morceau de code, mais je ne l'ai pas sur cette
machine (enfin, ça peut se régler, mais c'est juste pour ça que je ne poste
pas tout de suite) et puis je ne crois pas que ça pourrait éclaircir le
problème, toutes les données sont là. Mais si vous pensez que... je peux le
mettre.
Cordialement,
Christophe
Jonathan Barnoud
P.S. : pour pas aider, le schmilblick en question se trouve dans une
procédure récursive, elle-même dans une boucle mainloop()...
Pas de soucis, je suis effectivement avec Tkinter.
Je ne sais pas comment gérer cette partie de l'application. Si je déclare un seul objet cercle, il n'y en aura au final qu'un seul tracé. "Déclare"? Il n'y a pas de déclaration en Python. Pourrait-on voir un bout
de code (même qui ne marche pas)?
J'appelle "déclaration" la "création" de l'objet :
J'ai l'habitude des langages où on doit déclarer les variables (Turbo Pascal et autres) donc l'habitude reste... Ici, je considère qu'on a créé et "déclaré" un objet cercle1. Après, on peut "mettre à jour" cet objet :
# modifications de x1 et y1 # canevas1.coords(cerlce1, x1, y1, x1+40, y1+40)
J'ai essayé cercle[i] dans une boucle, mais ça ne marche pas). Pourquoi "ça ne marche pas" ?
Erreur de syntaxe. On ne peut pas associer un indice à un objet graphique apparement... ou je ne m'y prends pas de la bonne manière...
-------------------------------- from Tkinter import *
Merci. Effectivement, ça fonctionne (enfin, ça devrait, parce que je n'ai pas testé). Mais le problème, c'est que mes objets sont créés dans le canevas, et affichés, mais ils ne sont pas associés à un *nom* qui permettrait par après de les modifier. J'ai besoin d'avoir n objets : cercle1, cercle2, cerle3.... cerclen que je puisse modifier à l'aide de la commande canevas1.coords(cerclei,...). D'où mon essai avec les indices.
En créant une liste et en ajoutant les objet dans celle-ci ça ne marche pas ? J'ai testé le code ci-dessous sans difficultées. On pourrait aussi utiliser un dictionnaire. -------------------------------- from Tkinter import *
Je pourrais poster un morceau de code, mais je ne l'ai pas sur cette machine (enfin, ça peut se régler, mais c'est juste pour ça que je ne poste pas tout de suite) et puis je ne crois pas que ça pourrait éclaircir le problème, toutes les données sont là. Mais si vous pensez que... je peux le mettre.
Cordialement, Christophe
Jonathan Barnoud
P.S. : pour pas aider, le schmilblick en question se trouve dans une procédure récursive, elle-même dans une boucle mainloop()...