IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

inseré chiffre dans Canvas


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 8
    Par défaut inseré chiffre dans Canvas
    Bonjour

    Je demande votre aide car je n'arrive pas à inserer un chiffre dans chaqu'une des cases de ce quadrillage

    je dois arriver à faire par exemple :
    111
    222
    333

    Code:

    from Tkinter import *

    root = Tk()
    w = Canvas(root, width=600,height=600)
    w.pack()

    for hx in range(0,600,200):
    w.create_line(0,hx,600,hx,fill="blue")

    for hy in range(0,600,200):
    w.create_line(hy,0,hy,600,fill="blue")

    root.mainloop()


    Merci d'avance

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Puisque vous connaissez create_line vous devez connaître create_text : Ou est le problème ?

    @+

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 8
    Par défaut
    le problème c'est que ca ne marche pas le code que je fais :/
    et je ne sais pas où mettre le create_text

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Comme tu connais les dimensions de ta grille, tu peux calculer les coordonnées des textes et TKinter centrera lui-même le texte sur ce point.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    w.create_text(50, 50, text='111')
    placera le texte '111' à la position x = 50, y = 50


    Un conseil, quand tu postes du code utilisse les balises du même nom.

  5. #5
    Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 8
    Par défaut
    Merci pour ton aide

    encore une petite chose

    si je veux insere ce code dans mon premier code 'canvas' comment puis-je faire ? pour que chaque chiffre entre dans une casse (je sais qu'il y a trop de chiffre pour le nombre de cases mais je ferai cette modification par après)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    >>> import random
    >>> a=[1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2]
    >>> len(a)
    21
    >>> a=a+[1,1,1,1]
    >>> a
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1]
    >>> len(a)
    25
    >>> random.shuffle(a)
    >>> a
    [1, 1, 2, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2]
    >>> random.shuffle(a)
    >>> a
    [1, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1]

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Ben, je vois pas trop le rapport entre ta representation dans des cases et le module random, mais bon.

    Disons que tu as une liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    a = [1, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1]
    et que tes cases font 20 x 20 pixels avec dix cases horizontalement, tu peux itérer sur ta liste comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    # Le centre de la première case
    w, h = 10, 10
    # On itère
    for i, val in enumerate(a):
        # Ce print pour que tu voies ce que fait enumerate()
        print i, '>', val
        w.create_text(w, h, text=str(val))
        # On vérifie si on est arrivé à la derniere case horizontale
        if i % 9 == 0:
            w, h = 20, h + 20
        else:
            h + 20
    J'ai pas testé, mais ça devrait le faire

Discussions similaires

  1. Réponses: 15
    Dernier message: 09/06/2008, 16h51
  2. Réponses: 4
    Dernier message: 02/04/2008, 11h50
  3. Affichage des chiffres dans une phrases arabe
    Par omda dans le forum Oracle
    Réponses: 4
    Dernier message: 30/09/2005, 13h36
  4. Test si il y a des chiffres dans un champs
    Par deaqu1 dans le forum Access
    Réponses: 4
    Dernier message: 14/06/2005, 21h36
  5. inserer des " dans un response.write
    Par jefferson dans le forum ASP
    Réponses: 4
    Dernier message: 30/12/2004, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo