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 :

treeview et notebook


Sujet :

Tkinter Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut treeview et notebook
    Bonjour à tous,
    j'ai mis un treeview dans les onglets d'un notebook mais maintenant python ne me le trouve plus pour faire mes tris. Avez-vous une solution, je suis débutant et un code simple m'est necessaire.
    voici mon treeview


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def treeviewGeneral(nomFrame,place1,place2,hauteurTreeview11,hauteurTreeview1):
        # ajouter treeview pour vision table
            tree = ttk.Treeview(nomFrame, columns=(1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), height=5, show="headings",
                                style="mystyle.Treeview", )
    et ma recherche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    idSelect1 =tree.item(tree.selection())['values'][9]
    Merci

  2. #2
    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 salpat Voir le message
    j'ai mis un treeview dans les onglets d'un notebook mais maintenant python ne me le trouve plus pour faire mes tris.
    Comment çà il ne le trouve plus? Ça devrait donner un message d'erreur non?

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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut treeview et notebook
    bonjour,
    merci pour vos reponses,
    ci-joint le message

    i
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dSelect1 =tree.item(tree.selection())['values'][9]
    NameError: name 'tree' is not defined

  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,

    Oui mais çà c'est une erreur de débutant qui n'a pas pris le temps d'apprendre fonctions et portée des variables.
    Il y a des tutos qui expliquent çà très bien avec des exercices corrigés.

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

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut treeview et notebook
    Bonjour,
    malgré de nombreux essais je ne trouve pas la bonne articulation.
    je souhaite faire une fonction avec un treeview pour le dupliquer dans plusieurs onglets facilement.
    mais si je veux utiliser le treeview par des fonctions ou boutons en dehors de la fonction treeview, les portées sur variable m'en empêchent.
    ai-je bien compris ?
    je dois donc dupliquer tout le code du treeview pour chaque onglet ?
    merci

  6. #6
    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,

    Je ne comprends pas trop ce que vous cherchez à faire.

    Faites un petit exemple de code montrant les relations entre Notebook, Treeview et le dialogue que vous voulez réaliser.

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

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut treeview et notebook
    bonjour,
    merci pour vos réponses et votre patiente. Pour essayer d'être clair tout fonctionnait avant de vouloir faire en notebook. Je veux dupliquer le treeview sur chaque onglet et interagir avec. Mais étant autodidacte et débutant ( ça fait beaucoup je ne sais pas si je doit tout passer dans une class pour chaque page. j'ai compris les portées sur variables et je ne peux donc utiliser une variable (mon treeview) qui est dans une fonction sur d'autre fonction ?
    encore merci


    treeview

    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
    class treeviewGeneral():
     
        def __init__(self, onglet,place1,place2,hauteurTreeview11,largeurTreeview1):
            self.onglet=onglet
            self.place1=place1
            self.place2=place2
            self.hauteurTreeview11=hauteurTreeview11
            self.hauteurTreeview1=largeurTreeview1
     
        # ajouter treeview pour vision table
            tree = ttk.Treeview(f1, columns=(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), height=5, show="headings",
                                style="mystyle.Treeview", )
            tree.place(x=place1, y=place2, width=hauteurTreeview11, height=largeurTreeview1)
            #tree.place(x=265, y=80, width=990, height=475)
            tree.bind("<<TreeviewSelect>>", )
    action sur treeview
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            def methodeAjouterTexte():
                tree
                idSelect1 = tree.item(tree.selection())['values'][9]
                print(idSelect1)
    commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    btAjouterTexte = Button(f1, text="test", bg="Green", fg="yellow", command=methodeAjouterTexte, )
            btAjouterFluo.place(x=80, y=120, width=155)

  8. #8
    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,

    Vous me montrez des bous de code qu'on ne peut pas faire fonctionner et dont il n'y a pas trace du Notebook.

    Citation Envoyé par salpat Voir le message
    Je veux dupliquer le treeview sur chaque onglet et interagir avec.
    "dupliquer", c'est soit le même objet dans les différentes pages du notebook ou j'ai différents Treeview qui affichent les mêmes informations.

    Citation Envoyé par salpat Voir le message
    Mais étant autodidacte et débutant ( ça fait beaucoup
    C'est ce qu'on dit quand on se rend compte qu'on s'est peut être lancé dans un projet un peu gros sans avoir pris le temps d'accumuler les connaissance de bases qui seraient nécessaires.

    Citation Envoyé par salpat Voir le message
    j'ai compris les portées sur variables et je ne peux donc utiliser une variable (mon treeview) qui est dans une fonction sur d'autre fonction ?
    Difficile d'avoir passé du temps à comprendre fonction et portée des variables et passer à côté du mot clef "global". Avant de vous lancer dans un petit projet, vous devez vous donner le temps d'apprendre les constructions de bases sinon vous n'allez pas pouvoir imaginer comment construire/écrire votre code avec.

    Autodidacte ou pas, un outil ne sert à rien si vous n'apprenez pas à réaliser des choses simples avec.

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

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut treeview et notebook
    Bonsoir,
    j'ai suivi la formation fun mooc pour les bases, et ça fait deux jours que j'essaye avec global tree sans résultats. Donc effectivement une chose m'échappe mais je ne trouve pas. je vais donc créer une class pour tout mes onglets dommage et merci.

  10. #10
    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 salpat Voir le message
    Donc effectivement une chose m'échappe mais je ne trouve pas.
    La mécanique de base n'est pas très compliquée.
    Si j'écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> a = 1
    >>> def f():
    ...     a = 2
    ...     print (a)
    ...
    >>> f()
    2
    >>> print(a)
    1
    Le 'a" global ne change pas lorsque j'assigne 2 au "a" local.

    Par contre, si on déclare "a" global dans "f":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> def f():
    ...     global a
    ...     a = 2
    ...     print (a)
    ...
    >>> f()
    2
    >>> print(a)
    2
    >>>
    Le "a" global sera modifié.

    Après on a le NameError: un "a" définit dans une fonction disparait à la sortie de la fonction. Donc si on y accède à l'extérieur, il n'existe pas et ... NameError.

    Citation Envoyé par salpat Voir le message
    je vais donc créer une class pour tout mes onglets dommage et merci.
    Dans la pratique, çà ne change pas grand chose: un sous ensemble de variables globales deviennent attributs et préfixées par "self.".

    Les variables préfixées par "self." auront une durée de vie plus grande que la méthode qui leur assigne un objet. En cela "self." remplace le "global", et la portée sera l'espace de nommage de l'instance (au lieu du module).

    Si vous vous sentez plus "confortable" avec çà pourquoi pas! Si vous ne débutez pas de rien (i.e. avec de bonnes connaissances de la POO), çà va le faire.

    A bientôt pour de nouvelles aventures.

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

Discussions similaires

  1. TreeView et menu contextuel...
    Par agh dans le forum Composants VCL
    Réponses: 6
    Dernier message: 06/04/2009, 12h23
  2. TreeView -> ajouter un child à un noeud donné
    Par fake dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/03/2003, 17h14
  3. Réponses: 5
    Dernier message: 09/01/2003, 11h55
  4. où y a t il un tutorial pour le Treeview ??
    Par silvermoon dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/12/2002, 13h30
  5. [Pointer]Treeview.Data
    Par rbag dans le forum Composants VCL
    Réponses: 7
    Dernier message: 31/08/2002, 01h44

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