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 :

bouton sur onglet1 pour passer sur l'onglet2 [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Membre régulier
    Homme Profil pro
    Amateur débutant
    Inscrit en
    Décembre 2019
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Amateur débutant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 88
    Points : 104
    Points
    104
    Par défaut bouton sur onglet1 pour passer sur l'onglet2
    Bonsoir,

    J'aimerai changer d'onglet via un bouton avec un code du genre
    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
    from tkinter import *
    from tkinter import ttk
     
    def tab_switch():
     
    #     current_idx = setOnglets.currentIndex()
    #     setOnglets.setCurrentIndex(current_idx + 1)  # trouvé un truc ça.. mais ça marche pas et je sais pas m'en sortir :-/
     
     
    fen = Tk()
    setOnglets = ttk.Notebook(fen)
    setOnglets.grid(row=0, columnspan=1)
     
    ong1 = ttk.Frame(setOnglets)
    ong1.pack()
    ong2 = ttk.Frame(setOnglets)
    ong2.pack()
     
    setOnglets.add(ong1, text='Onglet 1')
    setOnglets.add(ong2, text='Onglet 2')
     
    but = Button(ong1, text="passer sur Onglet 2", command=tab_switch)
    but.grid(row=1, column=0, pady=10, padx=10)
     
    fen.mainloop()
    Comment faire svp?

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2013
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 80
    Points : 119
    Points
    119
    Par défaut
    Hello,

    Il existe l'objet Notebook de Tkinter.ttk ; voici la doc https://docs.python.org/3/library/tk....html#notebook

    Et un exemple :
    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
    import tkinter as tk
    from tkinter import ttk
     
    app = tk.Tk() # Creating main frame
    note = ttk.Notebook(app) # Creating notebook
     
    # Create tabs
    tab1 = tk.Frame(app)
    tab2 = tk.Frame(app)
     
    # Create some content for each tab
    tk.Label(tab1, text='This is a demonstration of tkinter possibility').pack()
    tk.Label(tab2, text='I don''t know what else to say...').pack()
     
    # Add tabs to notebook
    for i,tab in enumerate([tab1, tab2]) : note.add(tab, text='Tab n°%d'%i)
     
    note.pack()
    app.mainloop()
    Enjoy !

  3. #3
    Membre régulier
    Homme Profil pro
    Amateur débutant
    Inscrit en
    Décembre 2019
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Amateur débutant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 88
    Points : 104
    Points
    104
    Par défaut
    Bonsoir charliemtx.

    Merci pour votre réponse.
    Toutefois, je ne suis pas sur de la comprendre.

    Votre exemple semble simplement créer deux onglets (ce que fait déjà mon code exemple).

    Ma question était en fait :
    Comment, en cliquant sur un bouton situé sur l'onglet 1, je peux passer sur l'onglet 2 ?

    Peut être ai-je mal compris un implicite dans votre code exemple?

  4. #4
    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 Jma06 Voir le message
    Comment faire svp?
    Si vous utilisez un widget, il faut ouvrir la documentation pour voir ce qu'il sait faire et imaginer comment arriver à coder ce qu'on veut avec çà.

    Un truc comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def tab_switch():
     
        current_idx = setOnglets.index('current')
        setOnglets.select(current_idx + 1)  # trouvé un truc ça.. mais ça marche pas et je sais pas m'en sortir :-/
    sorti d'une lecture en diagonale semble fonctionner mais ce n'est peut être pas la meilleure solution (çà dépend de ce qu'on veut faire "par ailleurs").

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

  5. #5
    Membre régulier
    Homme Profil pro
    Amateur débutant
    Inscrit en
    Décembre 2019
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Amateur débutant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 88
    Points : 104
    Points
    104
    Par défaut
    Merci pour votre temps.
    merci pour le bout de code ça fonctionne
    bonne soirée

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/11/2018, 11h30
  2. Quel outil utilisé pour passer des scripts sur DB2?
    Par Valentinne dans le forum DB2
    Réponses: 2
    Dernier message: 10/07/2007, 18h12
  3. Mot de Passe sur un bouton de com. pour ouvrir un formulaire
    Par Droopynnette dans le forum Access
    Réponses: 1
    Dernier message: 29/09/2005, 11h38

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