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 :

Débutante - Python & Tkinter [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Lycéen
    Inscrit en
    Octobre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2015
    Messages : 9
    Par défaut Débutante - Python & Tkinter
    Bonjour/Bonsoir,

    Le but de ce "programme" est d'afficher sur Tkinter un canvas formé de carrés blancs et noirs représentant les 0 et 1.

    Quand j’exécute le programme, Tkinter s'ouvre mais reste gris.
    Pouriez-vous m'indiquer où est mon erreur, si'l vous plait ?

    Je précise que je suis totalement débutante en "programmation".

    Merci d'avance.

    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
    16
    17
    18
    19
    20
     
     
    Binaire=10000110000010011101010011100100110011110011001000001000101101011010010011010110
     
    racine = Tk()
    dessin = Canvas (racine, width=1000, height=1000)
    dessin.pack()
     
    x0=0
    y0=0
    x1=1
    y1=1
     
    for i in binaire:
        if i==1:
            dessin.create_rectangle(x0,y0,x1,y1, fill='black')
        elif i==0:
            dessin.create_rectangle(x0,y0,x1,y1, fill='white')
        y0=y0+1
        y1=y1+1

  2. #2
    Membre éprouvé
    Homme Profil pro
    employé
    Inscrit en
    Mars 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2015
    Messages : 75
    Par défaut
    Bonjour à toi,

    Que t'indiques ton code d'erreur ?

    Après de ce que je constate tu n'importes pas tkinter via la commande: (à mettre tout en haut)
    Ensuite idéalement, t'aurais peut-être dû transformer "Binaire" en une liste de chiffre exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Binaire = [1,0,0,0,1,etc...]
    donc selon moi ton erreur vient de binaire.

    Et pour finir pour cloturer tkinter il faut toujours finir par cette petite phrase:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    racine.mainloop()#racine étant ton racine = Tk()
    Après commencer Tkinter sans apprendre les bases est un peu limite, Il te serait surement plus sympathique et simple de commencer par les bases

  3. #3
    Membre habitué
    Femme Profil pro
    Lycéen
    Inscrit en
    Octobre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2015
    Messages : 9
    Par défaut
    Tout d'abord, merci de ta réponse.
    J'ai fait les modifications nécessaire et aucun changement .___.

    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
    16
    17
    18
    19
    20
    21
    22
    23
     
    from tkinter import *
     
    N=[1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0]
     
    racine = Tk()
    dessin = Canvas (racine, width=1000, height=1000)
    dessin.pack()
     
    x0=0
    y0=0
    x1=1
    y1=1
     
    for i in N:
        if i==1:
            dessin.create_rectangle(x0,y0,x1,y1, fill='black')
        elif i==0:
            dessin.create_rectangle(x0,y0,x1,y1, fill='white')
        y0=y0+1
        y1=y1+1
     
    racine.mainloop()
    Je n'ai pas de code d'erreur, Tinker s'ouvre mais la fenêtre reste entièrement grisée.

    Merci

  4. #4
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par Chromophobya Voir le message
    Tout d'abord, merci de ta réponse.
    J'ai fait les modifications nécessaire et aucun changement .___.

    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
    16
    17
    18
    19
    20
    21
    22
    23
     
    from tkinter import *
     
    N=[1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0]
     
    racine = Tk()
    dessin = Canvas (racine, width=1000, height=1000)
    dessin.pack()
     
    x0=0
    y0=0
    x1=1
    y1=1
     
    for i in N:
        if i==1:
            dessin.create_rectangle(x0,y0,x1,y1, fill='black')
        elif i==0:
            dessin.create_rectangle(x0,y0,x1,y1, fill='white')
        y0=y0+1
        y1=y1+1
     
    racine.mainloop()
    Je n'ai pas de code d'erreur, Tinker s'ouvre mais la fenêtre reste entièrement grisée.

    Merci
    Bonsoir,
    Il serait efficace de lire le manuel de tkinter…
    En particulier ce qui concerne les "canvas".
    En ajoutant l'option "width=0" à "create_rectangle"…
    Puis en modifiant les points de départs des carrés:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    x0=1
    y0=1
    x1=2
    y1=2
    Quelque chose sera visible… Mais il faut avoir l'œil!!!
    Sinon, en augmentant "x1" et "y1" (3?) et en augmentant un peu les progressions de "y0" et "y1" (par exemple 3 ), cela devient plus clair!

    Clodion

    PS:
    Citation Envoyé par Chromophobya Voir le message
    Je n'ai pas de code d'erreur
    Merci à papyfouette pour cela!

  5. #5
    Membre habitué
    Femme Profil pro
    Lycéen
    Inscrit en
    Octobre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2015
    Messages : 9
    Par défaut
    Merci pour la réponse rapide !

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    from tkinter import *
     
    N=[1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0]
     
    racine = Tk()
    dessin = Canvas (racine, width=1000, height=1000)
    dessin.pack()
     
    x0=30
    y0=30
    x1=40
    y1=40
     
    for i in N:
        if i==1:
            dessin.create_rectangle(x0,y0,x1,y1, fill='black', width=0)
        elif i==0:
            dessin.create_rectangle(x0,y0,x1,y1, fill='white', width=0)
        y0=y0+10
        y1=y1+10
     
    racine.mainloop()
    J'ai fait les modifications, et toujours le même problème.

    Nom : Problem.png
Affichages : 148
Taille : 6,5 Ko

    J'ai essayé de regarder plusieurs tutoriels mais en vain.
    Aussi doué soit mon professeur, il n'explique pas le fonctionnement de ce qu'on utilise alors il faut y aller un peu en tâtonnant

    Encore merci.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Vos rectangles font 1 pixel de hauteur et de largeur: essayez avec des dimensions + grandes.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par Chromophobya Voir le message
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    from tkinter import *
     
    N=[1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0]
     
    racine = Tk()
    dessin = Canvas (racine, width=1000, height=1000)
    dessin.pack()
     
    x0=3
    y0=3
    x1=4
    y1=4
     
    for i in N:
        if i==1:
            dessin.create_rectangle(x0,y0,x1,y1, fill='black', width=0)
        elif i==0:
            dessin.create_rectangle(x0,y0,x1,y1, fill='white', width=0)
        y0=y0+1
        y1=y1+1
     
    racine.mainloop()
    J'ai fait les modifications, et toujours le même problème.

    Bonsoir,
    Je pense qu'il serait bon d'apprendre à lire entièrement les réponses.

    Clodion

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Débutant: Python 2.7 ou 3 ?
    Par sreuse dans le forum Général Python
    Réponses: 2
    Dernier message: 21/12/2010, 14h08
  2. Débutant : Python et Python (x,y) ?
    Par jlg_47 dans le forum Général Python
    Réponses: 9
    Dernier message: 23/02/2010, 13h33
  3. aide pour un débutant python
    Par daniel130 dans le forum Général Python
    Réponses: 12
    Dernier message: 12/12/2009, 17h44
  4. Débutant Python, GUI : pygtk
    Par ToY.ch dans le forum GTK+ avec Python
    Réponses: 6
    Dernier message: 05/08/2007, 02h38

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