Ici on n'a que votre IP, votre pseudo et votre adresse mail que nous ne traitons pas.
Quand vous êtes enregistrés, une seule requête permet de vous afficher les messages que vous n'avez pas lus.
Primtux8 est arrivée! Rendez-vous ici
Vous pouvez désormais vous inscrire librement en cliquant sur "S'enregistrer".

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Nombres de 1 à 99 : écriture chiffré depuis son
#7
Mais, tu te compliques la vie pour rien.
Ca va pas ton histoire de window et de dialogue : tu ré-ouvres un truc alors que ça peut rester sur la même fenêtre.

Je te donne un exemple plus propre.
La, ce qu'il te faut c'est une et une seul window avec des zones d'affichages différentes.
Voilà ce que je te propose :
Tu as des Vbox (correspond à des zones d'affichages) que tu mets dans tes propriétés de classes (pour pouvoir y accéder dans toute ta classe).
Tu déclares toute ton interface dès le début. (comme ça, tout est en mémoire, pas de clignotement)

Tu dis à gtk de tout dessiner : self.show_all()
Puis tu caches ce qui ne doit pas apparaitre à la première étape : en fait tout sauf la zone de saisie de nom.
Après, c'est juste un jeu de cache-cache : selon l'action, tu vas cacher ou afficher une ou plusieurs zones.

Code :
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, GdkPixbuf, Gdk

class nbGtk(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="Apprentissage des nombres")
        self.set_resizable(True)
        self.set_border_width(10)
        
        hbox = Gtk.HBox()

        self.vbox_debut = Gtk.VBox()
        label_nom = Gtk.Label(label="Ton nom :")
        entry_nom = Gtk.Entry()
        entry_nom.set_name('nom')
        button_commencer = Gtk.Button(label="C'est parti !")
        button_commencer.connect("clicked", self.commencer_jeux)
        self.vbox_debut.add(label_nom)
        self.vbox_debut.add(entry_nom)
        self.vbox_debut.add(button_commencer)

        self.vbox_exercice = Gtk.VBox()
        button_lire_son = Gtk.Button(label="ECOUTER SON")
        self.vbox_exercice.add(button_lire_son)

        hbox.add(self.vbox_debut)
        hbox.add(self.vbox_exercice)
        self.add(hbox)
        self.show_all()

        self.vbox_exercice.hide()

    def commencer_jeux(self, button):
        self.vbox_debut.hide()
        self.vbox_exercice.show()

if __name__ == "__main__":
    win = nbGtk()
    win.connect("destroy", Gtk.main_quit)
    win.move(10, 10)
    Gtk.main()
Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)