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 :

GUI Navigation entre différentes pages [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut GUI Navigation entre différentes pages
    Bonjour,

    Je suis débutant en programmation et je suis en train de faire une autoformation au langage Python et plus précisément sur la création de GUI pour mon travail.
    Actuellement je réalise (afin de m'entrainer) un GUI permettant de faire la gestion de mes comptes.

    Mon problème est au niveau de la gestion des pages, pour le moment j'ai 2 pages (Login et Page2), quand je clique sur le bouton Start de la page de Login je voudrais afficher la Page2. Mon problème et que actuellement mes 2 pages s'affichent en même temps. J'ai cherché sur internet pour la gestion des pages et j'ai trouvé l'utilisation de tkraise(), mais toujours pareil.

    Si quelqu'un pouvait m'aider j'en serais très reconnaissant, et si il a des conseils en plus sur la programmation je suis preneur

    Merci

    Aion34
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 355
    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 355
    Points : 36 883
    Points
    36 883
    Par défaut
    Citation Envoyé par Aion34 Voir le message
    Je suis débutant en programmation et je suis en train de faire une autoformation au langage Python et plus précisément sur la création de GUI pour mon travail.
    Si vous vous lancez dans la programmation d'un modèle MVC sans vous donner le temps de débuter, çà ne va pas être facile.

    Citation Envoyé par Aion34 Voir le message
    Mon problème est au niveau de la gestion des pages, pour le moment j'ai 2 pages (Login et Page2), quand je clique sur le bouton Start de la page de Login je voudrais afficher la Page2. Mon problème et que actuellement mes 2 pages s'affichent en même temps. J'ai cherché sur internet pour la gestion des pages et j'ai trouvé l'utilisation de tkraise(), mais toujours pareil.
    Des "pages" ? C'est un concept de site Web, avec un GUI on parle de fenêtres ("windows") principales et secondaires. Vous allez pouvoir afficher dans ces fenêtres là des widgets arrangés (dans la fenêtre qui s'affiche sur l'écran) via un gestionnaire de disposition.

    => ce que vous appelez login et page2 sont des instances de Frame et le gestionnaire de disposition que vous utilisez est "grid". Son boulot est de disposer tous les widgets de sorte à ce qu'on les voit tous. Si vous voulez faire apparaître l'un puis l'autre, vous pouvez passez par grid_forget. Exemple avec "pack":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> import tkinter as tk
    >>> root = tk.Tk()
    >>> f1 = tk.LabelFrame(root, text='login', height=200, width=200)
    >>> f1.pack()
    >>> f2 = tk.LabelFrame(root, text='page', height=200, width=200)
    >>> f1.pack_forget()
    >>> f2.pack()
    >>> f2.pack_forget()
    tkraise s'utilise lorsque vous "empilez" les widgets les uns sur les autres.
    Dans ce cas, vous pouvez utilisez "place":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> f1.place(x=0, y=0)
    >>> f2.place(x=0, y=0)
    >>> f1.tkraise()
    Dans tous les cas, pas la peine de structurer son code en classes/modules pour voir comment ces détails fonctionnent: quelques commandes tapées à la console Python suffisent.

    - W

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup pour votre réponse !
    Je suis sur un modèle MVC car j'ai déjà quelques notions en Python et POO avec le C++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/10/2007, 13h07
  2. Transmettre information entre différentes pages
    Par BkD35 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/04/2007, 10h31
  3. Redirection entre différentes pages
    Par natie_49 dans le forum Langage
    Réponses: 8
    Dernier message: 21/03/2007, 14h46
  4. [Ergonomie] Optimiser la navigation entre mes pages web
    Par DBardel dans le forum Webdesign & Ergonomie
    Réponses: 8
    Dernier message: 17/01/2007, 11h53
  5. Réponses: 2
    Dernier message: 30/09/2006, 22h36

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