Pouvoir ouvrir un fichier depuis un bouton.

Résolu/Fermé
Recherchedesavoir Messages postés 8 Date d'inscription samedi 6 février 2016 Statut Membre Dernière intervention 15 juillet 2018 - Modifié par Recherchedesavoir le 26/02/2016 à 13:42
 dragoflyy - 18 mars 2016 à 19:54
Bonjour,

Aujourd'hui je m'attaque à mon projet professionnel personnel et ce projet est une de mes notes pour le BAC. Je souhaite programmer pour débuter un jeu, plus précisément un Rogue Like, mais là n'est pas la question.
J'ai créé une interface de démarrage avec deux boutons, un "Jouer" et un "Quitter", et j'aimerais faire en sorte que lorsque j'appuie sur "Jouer", le programme lance le fichier contenant le jeu, voir même que la page d’accueil laisse place au jeux, sans devoir avoir à chercher le programme dans mes dossiers. Ainsi, je pourrait avoir qu'un programme contenant tout les codes.
Donc j'aimerais savoir si vous savez comment pouvoir codé cette manœuvre.
(J'ai essayer : " [...] commande = open ("nomfichier") [...] ")

De plus, j'aimerais savoir la liste des actions possible depuis un bouton. La liste des code (par exemple), si il en existe une.

En vous remerciant de votre savoir,
Recherchedesavoir.

P.S : ci-joint des images pour illustré. (je ne sais plus comment on met sur spoil l'image...)
A voir également:

2 réponses

Je suis pas sur d'avoir tout bien comprit... mais je pense que tu devrait créer la fenêtre dans une class, ce qui te permettrais avec le bouton de lancer la fenêtre suivante facilement. Ca donnerais quelque chose comme ça:
from tinter import *
from tkinter.messagebox import *

class fenetre():
   def  __init__(self) :
        self.fenetre = Tk()
        canvas = Canvas(self.fenetre, width=200, height=0)
        canvas.focus_set()
        canvas.bind("<Key>", self.clavier)
        canvas.pack()
        label = Label(self.fenetre, text = "MONSTRO's ADVENTURE")
        label.pack()
        Frame2 = Frame(self.fenetre, borderwidth=2)
        Frame2.pack(side=RIGHT, padx=20, pady=10)
        Bouton=Button(Frame2, text="QUITTER", command=self.fenetre.destroy)
        Bouton.pack()
        Frame1 = Frame(self.fenetre, borderwidth=2)
        Frame1.pack(side=LEFT, padx=20, pady=10)
        bouton=Button(Frame1, text=" JOUER ", command=self.ctn)
        bouton.pack()
        self.fenetre.mainloop()
   def clavier(self, event) :
        touche=event.keysym
        if touche == "Escape":
            self.fenetre.destroy()
   def ctn(self) :
        self.fenetre.destroy()
        suite()

def suite():
    # lance ici ton jeu

s = fenetre()


Pour lancer ton code du jeu, tu peux utiliser soit un import nom_du_fichier et lancer directement les fonctions de ton deuxième code. soit tu regroupe tout dans le même fichier, et tu n'auras donc pas a lancer le import, mais simplement a faire continuer le déroulement de ton programme. Par exemple, dans la fonction suite(), tu met ton deuxième code (celui de droite), et ta fenêtre de jeu s'ouvrira que si l'utilisateur appuie sur JOUER.

Par contre, je ne comprend pas a quoi servent tes frames, tu n'en a pas besoin, vu qu'il n'y a qu'un bouton dans chacun, mais c'est tout :)
0
Recherchedesavoir Messages postés 8 Date d'inscription samedi 6 février 2016 Statut Membre Dernière intervention 15 juillet 2018 1
Modifié par Recherchedesavoir le 5/03/2016 à 19:21
Je te remercie de ta réponse!

En effet, j'ai tout regroupé dans le même fichier et j'ai réussis à faire en sorte que le bouton "jouer" lance le jeux en ayant définie jouer au paravent.
C'est plus simple et allège mon dossier ^^

Et les frames me servais à faire en sorte que les boutons se place d'une certaine façon, mais j'utilise .grid qui me permet de supprimer le bouton lorsque j'appuis sur "Jouer" ;)
0
content d'avoir pu t'aider :)
0