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 :

Une "fenêtre" à la place d'un "print"


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Une "fenêtre" à la place d'un "print"
    Bonjour tous le monde,

    Voila, donc j'ouvre cette discussion, pour demander conseil, comme le dit le titre " Comment remplacer le print par une fenêtre ou une image "

    Alors voila, je vous met le code ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    def defile() :
        Fond.move(img,0,-10)
        a,b = Fond.coords(img)
        #print(b)
        if not (b in pauses) :
            fenetre.after(delai,defile)
        else :
            x,y = Fond.coords(Taupe) 
            i = pauses.index(b) # donne le rang de b dans la liste des pauses
            lim = bordsG[i]
            print(x)
            if not (lim[0]<x<lim[1]) :
                print("perdu")
    mais à la place du print"perdu", j'aimerai pouvoir qui s'affiche quand on à perdu ce code la qui est une autre fenêtre :

    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.messagebox import *
    from tkinter import *
    fenetre =Tk()
     
     
    fenetre.title("DiggerMole")
    fenetre.geometry("1400x700")
    fenetre.resizable( width = False, height= False)
     
     
    Fond=Canvas(fenetre,width=1400,height=700,bg="#442505")
    fichierimg = PhotoImage(file="perduphoto.gif")
    img=Fond.create_image(0,0, image=fichierimg,anchor="nw")
    Fond.grid()
     
    #import diggermoleprojetbon.py
     
    #if diggermoleprojetbon == 'jouer':
    #	diggermoleprojetbon.main()
    	#Il te suffit d'executer le x.main() au moment ou tu cliques ton bouton
     
     
    #bouton = PhotoImage ( file="jouer.gif")
    #Fond.create_image(725, 430, image=bouton)
     
     
     
    fenetre.mainloop()

    Merci beaucoup, en attente de vos réponses :-)

  2. #2
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Salut,

    Il faut que tu utilises une fenêtre Toplevel de tkinter.
    Le temps ronge l'amour comme l'acide.

  3. #3
    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 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par DiggerMole Voir le message
    Merci beaucoup, en attente de vos réponses :-)
    Ce n'est pas parce que vous présentez les choses un peu différemment que dans votre post précédent que les réponses soient différentes. Et comme on ne va pas écrire le code à votre place, çà serait pas mal d'essayer de les comprendre.

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

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Ce n'est pas parce que vous présentez les choses un peu différemment que dans votre post précédent que les réponses soient différentes. Et comme on ne va pas écrire le code à votre place, çà serait pas mal d'essayer de les comprendre.

    - W

    Salut,

    C'est pas une histoire de répondre différemment ou pas, juste une histoire que je ne demande pas la même chose ! Si quelqu'un comme moi, dans le même besoin d'aide pour la même chose, je pense qu'il sera content de tomber sur ce post et non pas sur l'ancien qui ne parle pas exactement de la même chose.

    On ne va pas écrire le code à votre place, après avoir fait tous le code de mon jeu, je viens pour la première fois vous demandez de l'aide, et on ai si bien accueilli ! ça fait plaisir :-)

  5. #5
    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 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par DiggerMole Voir le message
    On ne va pas écrire le code à votre place, après avoir fait tous le code de mon jeu, je viens pour la première fois vous demandez de l'aide, et on ai si bien accueilli ! ça fait plaisir :-)
    Non c'est la deuxième fois. Et vous ne tenez pas compte des avis de ceux qui ont pris la peine d'essayer de vous mettre sur la voie la première fois. Et la solution est ici aussi: reste Toplevel, une fonction "main" (ou du nom que vous voulez) à écrire,...

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

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Non c'est la deuxième fois. Et vous ne tenez pas compte des avis de ceux qui ont pris la peine d'essayer de vous mettre sur la voie la première fois. Et la solution est ici aussi: reste Toplevel, une fonction "main" (ou du nom que vous voulez) à écrire,...

    - W
    Salut,

    Oui, al deuxième fois, autant pour moi. Désolé de m'être un peu emballé alors que vous ne faite que m'aider et que vous pourriez faire autre chose à la place, désolé.

    J'ai essayé d'utiliser TopLevel, mais je me retrouve avec la fenêtre en arrière plan, j'aimerai qu'elle apparaisse que quand on à perdu et qu'elle apparaisse en premier plan, déjà est-ce possible ?

    Merci

  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 776
    Points
    36 776
    Par défaut
    Citation Envoyé par DiggerMole Voir le message
    J'ai essayé d'utiliser TopLevel, mais je me retrouve avec la fenêtre en arrière plan, j'aimerai qu'elle apparaisse que quand on à perdu et qu'elle apparaisse en premier plan, déjà est-ce possible ?
    Si w est l'instance de Toplevel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    w.wm_attributes('-topmost', 1)
    devrait le faire.

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

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Si w est l'instance de Toplevel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    w.wm_attributes('-topmost', 1)
    devrait le faire.

    - W
    Je t'avoue que je ne comprends pas bien ce que tu veux dire, je fais cela ? :

    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
    def defile() :
        Fond.move(img,0,-10)
        a,b = Fond.coords(img)
        #print(b)
        if not (b in pauses) :
            fenetre.after(delai,defile)
        else :
            x,y = Fond.coords(Taupe) 
            i = pauses.index(b) # donne le rang de b dans la liste des pauses
            lim = bordsG[i]
            print(x)
            if not (lim[0]<x<lim[1]) :
                print("perdu")
     
    def perdu() :
    	w=Toplevel
    	w.wm_attributes('-topmost', 1)

  9. #9
    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 776
    Points
    36 776
    Par défaut
    Citation Envoyé par DiggerMole Voir le message
    Je t'avoue que je ne comprends pas bien ce que tu veux dire, je fais cela ? :
    instance est l'objet d'une classe ici Toplevel.
    Les () ne sont pas optionnels, c'est ce qui fait l'appel à fonction, méthode, constructeur,...

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

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    instance est l'objet d'une classe ici Toplevel.
    Les () ne sont pas optionnels, c'est ce qui fait l'appel à fonction, méthode, constructeur,...

    - W

    D'accord, donc on a
    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
    def defile() :
        Fond.move(img,0,-10)
        a,b = Fond.coords(img)
        #print(b)
        if not (b in pauses) :
            fenetre.after(delai,defile)
        else :
            x,y = Fond.coords(Taupe) 
            i = pauses.index(b) # donne le rang de b dans la liste des pauses
            lim = bordsG[i]
            print(x)
            if not (lim[0]<x<lim[1]) :
                print("perdu")
     
    def perdu() :
    	w=Toplevel ()
    	w.wm_attributes('-topmost', 1)
    Mais rien ne change, rien n'apparait

  11. #11
    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 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par DiggerMole Voir le message
    Mais rien ne change, rien n'apparait
    Votre fonction est appelée nulle part...

    Ça serait bien de prendre le temps de lire un tuto. (et d'en faire quelques uns des exercices proposés). Si les tutos. ont été créés et mis gracieusement à votre disposition, c'est pour vous permettre d'apprendre les bases à votre rythme et éviter de répéter dans des forums de discussions des explications que vous pourriez trouver par vous même en prenant le temps de les consulter.
    Bon courage.

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

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Votre fonction est appelée nulle part...

    Ça serait bien de prendre le temps de lire un tuto. (et d'en faire quelques uns des exercices proposés). Si les tutos. ont été créés et mis gracieusement à votre disposition, c'est pour vous permettre d'apprendre les bases à votre rythme et éviter de répéter dans des forums de discussions des explications que vous pourriez trouver par vous même en prenant le temps de les consulter.
    Bon courage.

    - W
    Le courage je vais en avoir besoin oui...

    En fait, les bases je les aient car je ne serais pas arrivé jusque là je pense, Donc Toplevel crée des fenêtres secondaire qui peuvent devenir primaire,
    Cela permet de créer une autre fenêtre, dans mon code j'ai intégré donc cela :

    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
    def defile() :
        Fond.move(img,0,-10)
        a,b = Fond.coords(img)
        #print(b)
        if not (b in pauses) :
            fenetre.after(delai,defile)
        else :
            x,y = Fond.coords(Taupe) 
            i = pauses.index(b) # donne le rang de b dans la liste des pauses
            lim = bordsG[i]
            print(x)
            if not (lim[0]<x<lim[1]) :
                #print("perdu")
     
                import pageperdu.py
                w=Toplevel(perdu)
                w.wm_attributes('-topmost', 1)
    J'ai donc une grosse page qui s'affiche quand on a perdu, ce que je voulais sauf que elle est blanche, j'aimerai donc à ce moment que soit elle lance le programme pageperdu.py, soit qu'elle ouvre une image, merci de ton aide

  13. #13
    Membre averti Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Points : 314
    Points
    314
    Par défaut
    Salut,

    je ne vais pas rajouter une couche, juste prend le temps d'analyser les réponses proposer

    Simplifie toi les choses et tu trouveras tout seul la solution au problème...

    pour que tu puisses comprendre le fonctionnement de ton script:

    créer juste 1 fichier python ex:"teste.py", créer 2 fonctions par exemple une fonction gagner et une fonction perdu
    pour t'aider, tu devrais jeter un coup d'oeil ici pour la création et l'utilisation des fonctions.

    une fois que tu sais comment appeler une fonction, tout sera beaucoup plus clair pour toi

    passons ensuite à la 2ème étapes: commence par importer tkinter et dans ta fonction gagner créer toi une fenêtre toute simple, et appel la.
    une fois ceci fait, créer une autre fenêtre dans ta fonction perdu et appel la, une fois ceci maitriser tu peux revoir ton code initial.
    "Quelle prétention de prétendre que l'informatique est récente: Adam et Eve avaient déjà un Apple!"

Discussions similaires

  1. Ouvrir un lien dans une nouvelle fenêtre
    Par Le Lézard dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/12/2004, 14h43
  2. [ShellExecute] ouvrir une nouvelle fenêtre ie
    Par sony351 dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/11/2004, 18h39
  3. Récupérer l'adresse d'une autre fenêtre
    Par AlLutun dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/11/2004, 10h19
  4. Réponses: 3
    Dernier message: 17/06/2004, 16h59
  5. Ajouter une barre d'outils à une sous fenêtre
    Par barthelv dans le forum MFC
    Réponses: 6
    Dernier message: 23/04/2004, 14h17

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