Partage
  • Partager sur Facebook
  • Partager sur Twitter

Nouvelle fenêtre [Tkinter]

Sujet résolu
29 mars 2014 à 17:43:28

Bonjours à tous!

Je suis nouveau sur le site donc je ne sais pas si le sujet à déjà été traité...

Je suis actuellement en train d’apprendre à coder en Python (version 3.3.4), mais n'aimant pas trop me contenter de lire des tutoriels, je code au fur et à mesure.

Je bloque donc sur un point: je souhaite que mon programme m'ouvre une deuxième fenêtre par le biais d'une commande, représentée par un bouton.

Cependant, pas moyen. J'ai testé diverses manières: la seule qui fonctionne est la comande Toplevel mais elle n'affiche qu'une fenêtre vide.

Help!

  • Partager sur Facebook
  • Partager sur Twitter
29 mars 2014 à 18:34:58

salut,

Myn4s a écrit:

la seule qui fonctionne est la comande Toplevel mais elle n'affiche qu'une fenêtre vide.

C'est pas le but que la fenêtre qui s'affiche soit vide? tu voulais quoi dedans? un lapin qui mange une carotte? en voila un!



-
Edité par pythan 29 mars 2014 à 18:35:41

  • Partager sur Facebook
  • Partager sur Twitter
Bevet Breizh! Breizh dizalc'h! Betek an trec'h! Ha mallozh ruz d'ar c'hallaoued! Trouvez votre voie
29 mars 2014 à 18:53:18

Non pas vraiment ^^

En fait le bouton fais partie d'un lanceur, quand on clique dessus l’appli s'ouvre

C'est pas super utile mais c'est juste pour voir comment on fait.

  • Partager sur Facebook
  • Partager sur Twitter
29 mars 2014 à 18:59:31

Myn4s a écrit:

En fait le bouton fais partie d'un lanceur, quand on clique dessus l’appli s'ouvre

Ouh la ça y est j'y comprends plus rien.o_O

Est-ce que, s'il te plaît, tu pourrais m’expliquer, clairement et précisément ce que tu veux?

pythan a écrit:

tu voulais quoi dedans? un lapin qui mange une carotte?

Myn4s a répondu:

Non pas vraiment ^^

Ben tu veux quoi alors?

Myn4s a écrit:

mais elle n'affiche qu'une fenêtre vide.

Ben oui, t'as encore rien mis dedans.

Une fenêtre Toplevel s'utilise comme une fenêtre normale et il faut que tu rajoutes des widgets dedans sinon évidemment ben elle est vide.

-
Edité par pythan 29 mars 2014 à 19:21:28

  • Partager sur Facebook
  • Partager sur Twitter
Bevet Breizh! Breizh dizalc'h! Betek an trec'h! Ha mallozh ruz d'ar c'hallaoued! Trouvez votre voie
29 mars 2014 à 19:13:24

pythan a écrit:

Ben oui, t'as encore rien mis dedans.

Une fenêtre Toplevel s'utilise comme une fenêtre normale et il faut que tu rajoutes des widgets dedans sinon évidemment ben elle est vide.

Ce que je voudrais savoir, c'est justement comment inclure des widgets dedans, jusqu'a preuve du contraire, une fenêtre vide ne sert à rien! ^^
  • Partager sur Facebook
  • Partager sur Twitter
29 mars 2014 à 19:22:54


pythan a écrit:

UNE FENÊTRE TOPLEVEL S'UTILISE COMME UNE FENÊTRE NORMALE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!





  • Partager sur Facebook
  • Partager sur Twitter
Bevet Breizh! Breizh dizalc'h! Betek an trec'h! Ha mallozh ruz d'ar c'hallaoued! Trouvez votre voie
29 mars 2014 à 19:27:19

Bon, allez, zen, relax.

Un petit code:

from tkinter import *
#la fenetre principale
fenetrePrincipale=Tk()
texte=Label(fenetrePrincipale, text="A midi j'ai mangé de la moutarde")
texte.pack()
#le toplevel
fenetreToplevel=Toplevel(fenetrePrincipale)
texte2=Label(fenetrePrincipale, text="A midi j'ai mangé de la chantilli")
texte2.pack()
#mainloop
fenetrePrincipale.mainloop()



  • Partager sur Facebook
  • Partager sur Twitter
Bevet Breizh! Breizh dizalc'h! Betek an trec'h! Ha mallozh ruz d'ar c'hallaoued! Trouvez votre voie
29 mars 2014 à 19:37:11

Voila le mien (en super simplifié, juste la partie qui nous intéresse)

from tkinter import*

#fenetre principale
#creation de la fenetre
Root1 = Tk()
 
#bouton lanceur
go = Button(Root1 , text = 'lancer', command=Toplevel)
go.pack()

Root1.mainloop()

Il fonctionne, mais comment je fais pour que la fenêtre qui apparais contiennent ce que je veux?

  • Partager sur Facebook
  • Partager sur Twitter
29 mars 2014 à 19:42:30

from tkinter import *

def faireApparaitreLeToplevel():
    top=Toplevel(root)
    lab=Label(top, text="Ce soir je vais manger des frites")
    lab.pack()

root=Tk()
go=Button(root, text="lancer", command=faireApparaitreLeToplevel)
go.pack()
root.mainloop()
  • Partager sur Facebook
  • Partager sur Twitter
Bevet Breizh! Breizh dizalc'h! Betek an trec'h! Ha mallozh ruz d'ar c'hallaoued! Trouvez votre voie
29 mars 2014 à 19:44:11

Haaaaa cool!

Merci de l'aide! :)

  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2020 à 17:12:15

super merci beaucoup ! savez vous comment positionner la fenêtre ? 

j'aimerais que quand elle s’ouvre elle apparaisse au milieu de l’écran 

  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2020 à 18:12:24

@LoupGicquel Bonjour, merci de ne pas déterrer d'ancien sujet résolu.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter