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

Tkinter Python Discussion :

[Canvas] Modifier statut cadre_window avec bouton


Sujet :

Tkinter Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ergonome
    Inscrit en
    Janvier 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2020
    Messages : 17
    Points : 28
    Points
    28
    Par défaut [Canvas] Modifier statut cadre_window avec bouton
    Bonjour,

    J’essaie de faire un petit jeu de question avec pour (très forte) inspiration graphique Question Pour un champion

    code :
    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
    25
    26
    27
    28
    from tkinter import*
     
    width=1280
    height=720
     
    def jouer ():
        bj_w.config (state='hidden')
    f1=Tk()
    f1.title("Question pour un Champion PY version")
    f1.iconbitmap("logoqpc.ico")
    f1.geometry("1280x720")
    f1.minsize (width, height)
    f1.maxsize (width, height)
     
    #canvas pour le fond
    image=PhotoImage(file="qpcfond1.png")
    can= Canvas(f1, width=width, height=height, bd=0)
    can.pack()
     
    bj=Button (f1, text="Jouer", font=("Sunset Boulevard", 50),bg="#fff700", bd=0, width=20, height=1, command=jouer)
    bj_w = can.create_window(340, 600, window=bj, state='normal')
     
    bhs=Button (f1, text="High Score", font=("sunset Boulevard", 50), bg="#fff700", bd=0, width=20, height=1)
    bhs_w = can.create_window(950, 600, window=bhs)
     
     
     
    f1.mainloop()
    Le problème se situ il me semble à la 7ème ligne du code...
    J'utilise un Canvas pour mettre un fond à ma fenêtre cela implique donc toutes le difficultés liées aux widget à intégrer par dessus ce Canvas...

    J’essaie de faire un sort que lors du clique sur le bouton "jouer", les deux bouton disparaissent. J'utilise pour cela l'état 'hidden' de cadre_window (toute autre proposition pour cacher ces boutons est la bienvenue)...J'ai essayer avec ".config", avec ".attributes". J'avais aussi exploré la piste ".destroy()" que j'ai vite abandonnée car elle me semblait trop compliqué a mettre en œuvre sur le Canvas

    Merci d'avance pour toute réponse...

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Salut,

    Dans la fonction, la variable bj_w est un entier représentant l'identifiant de l'item retourné par .create_window.
    Et un entier n'a pas de méthode .configure.

    Rien de magique à savoir cela, il suffit d'ouvrir une documentation pour voir quelles sont les fonctionnalités d'un Canvas.

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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ergonome
    Inscrit en
    Janvier 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2020
    Messages : 17
    Points : 28
    Points
    28
    Par défaut
    Y a t-il une solution ?

  4. #4
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 873
    Points : 7 207
    Points
    7 207
    Par défaut
    Oui il faut supprimer l'item en passant par votre canvas
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ergonome
    Inscrit en
    Janvier 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2020
    Messages : 17
    Points : 28
    Points
    28
    Par défaut
    Comment ça ? can.destroy(bj) par exemple ?

  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 873
    Points : 7 207
    Points
    7 207
    Par défaut
    can.delete plutôt
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Salut,

    Citation Envoyé par Salicandre Voir le message
    Y a t-il une solution ?
    Appliquer state="hidden" à l'item du Canvas...
    De toutes façons, si vous voulez utilisez un Canvas, il va falloir découvrir la documentation...
    C'est l'occasion ou jamais.

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

Discussions similaires

  1. Modifier une variable avec un bouton
    Par Snakiron dans le forum Tkinter
    Réponses: 4
    Dernier message: 27/09/2019, 20h30
  2. [WD17] modifier enregistrement avec bouton
    Par tebyyyy dans le forum WinDev
    Réponses: 11
    Dernier message: 06/06/2014, 14h59
  3. Afficher gif sur canva avec bouton
    Par NightK dans le forum GUI
    Réponses: 7
    Dernier message: 23/04/2010, 01h45
  4. [jsf] modifier le JSP avec un bouton
    Par AmineDev9 dans le forum JSF
    Réponses: 1
    Dernier message: 11/05/2009, 09h27

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