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

Python Discussion :

tkinter ou pas ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Par défaut tkinter ou pas ?
    bonjour tout le monde,
    je débute avec python, je tente de faire une application graphique relativement simple, mais j ai beaucoup de mal à trouver les infos qui me manque, donc je me dit que je n était peut être pas sur la bonne voie et que je dois mal m y prendre.
    bref : je veux pour l'instant, récupérer la valeur d un champ Entry pour l enregistrer dans une base de donnée. (je sais faire en php) je ne m attaque donc pas à une montagne !
    première question : tkinter est il le plus adapter, parce que sur tout les tutos que j ai lu, base de donnée = site web je trouve cela bizarre !
    et donc deuxième question : est ce la bonne solution ? tkinter + Bdd
    et ou trouver des infos qui traiterais de ce sujet précisément ? j'ai suivis une formation de 35 vidéos sur YouTube (très bien faite d ailleurs) mais ça survol le sujet..


    merci de votre aide

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par bilcosby Voir le message
    première question : tkinter est il le plus adapté
    tkinter est une GUI minimaliste. Sa force est d'être intégrée à Python donc permettre des IHM de base. Pour saisir un texte et le récupérer il sait parfaitement faire.
    Pour info j'utilise Qt, ultra puissant mais en contrepartie assez difficile à appréhender (et qui n'est pas livrée par défaut) mais pour débuter, tk fait parfaitement le job.

    Citation Envoyé par bilcosby Voir le message
    , parce que sur tout les tutos que j ai lu, base de donnée = site web je trouve cela bizarre !

    Cela signifie donc que les hôpitaux, qui stockent les datas de leurs malades en bdd, doivent impérativement proposer ces datas aux internautes via un site web ???
    Je confirme, tu as vraiment lu des tutos de merde. La bdd c'est pour stocker des données et le site web c'est pour proposer du contenu au public. Il n'y a absolument rien qui justifie la liaison obligatoire des deux technos.

    Certes il est courant que les sites web qui te proposent du contenu évolutif (exemple vente en ligne, forums) passent par des bdd pour gérer les datas (produits à vendre, liste des posts, ...) mais c'est une solution qui s'impose par sa logique qui va dans un sens précis (j'ai besoin d'un site qui va afficher des produits, les produits seront mis en bdd pour me permettre de les faire évoluer) et non pas dans l'autre (ce n'est pas parce que je dois utiliser une bdd que je vais créer un site web).

    Citation Envoyé par bilcosby Voir le message
    et donc deuxième question : est ce la bonne solution ? tkinter + Bdd
    Ce sont des technologies complètement séparées. tkinter c'est la saisie, bdd c'est le stockage.

    En fait ta question s'est déjà posée dans les méthodologies officielles et a amené une réponse par une méthode de développement appelée "MVC"
    • le "M" c'est le modèle, qui traite tout ce qui est stokage des données
    • le "V" c'est la vue, qui traite tout ce qui est saisie/affichage
    • le "C" c'est le contrôleur, qui permet de traiter des données A et B pour générer C

    En séparant ces 3 technologies on peut les faire évoluer indépendamment. Aujourd'hui le V c'est print/input, demain c'est tk et après-demain c'est Qt. Le M c'est du fichier, demain c'est de la bdd.

    Citation Envoyé par bilcosby Voir le message
    j'ai suivis une formation de 35 vidéos sur YouTube (très bien faite d ailleurs) mais ça survol le sujet..
    Formations très bien faites mais qui t'ont appris que dalle - Combien de temps tu as passé perdu devant ces 35 vidéos ?
    L'apprentissage c'est prendre un tuto, le lire, récupérer les exemples, les tester. On peut revenir en arrière si souci etc. Un tutoriel on "s'implique". youtube on "subit" la vidéo (si on ne s'endort pas devant...)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Par défaut
    merci pour toute ces infos.
    mais globalement je savais tout ça, faisant déjà du web (php.sql)
    mon étonnement venais du fait que les seules infos que j ai pu trouver des infos qui parlaient de bdd s était à chaque fois en rapport avec du développement web avec python....
    le soucis des tutos, bien qu' avec l habitude je commence à les repérer, c'est qu' on passe du temps dessus pour s apercevoir que ça n répond pas a la demande, moi j ai compris comment créer une interface graphique, comment positionner les widgets, maintenant il faut que je gère l interactivité ....genre un répertoire client: [remplir les champs] => [récupération des variables] => [enregistrement BDD]
    merci pour le temps accordé, je continu mes investissements !

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    Vous comparez l'incomparable, entre une IHM (Tkinter) et ce que vous faîtes en PHP à partir d'un serveur Web.

    Le serveur Web communique naturellement avec une base de données, mais ce n'est évidemment pas le cas avec une IHM.

    Ça n'empêche pas que via une IHM vous pouvez le faire avec un module simple comme SQLite3, pas besoin de tutoriel, vous avez sa documentation python très bien faîte, et vos connaissances du langage SQL.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Par défaut
    non je ne compare rien, je disait juste que les infos retournées de mes recherches me laissais perplexe, donc je voulais juste savoir si je n'étais pas dans l erreur !c'est tout!
    puis je cherche toujours à récupérer mes variables qui doivent passer de la fenêtre 1 à la fenêtre 2, je cherche autour de GET, mais je ne suis sur de rien, même dans la doc python ....
    je ne voudrais pas chercher pour rien...
    merci
    crdlt

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par bilcosby Voir le message
    bref : je veux pour l'instant, récupérer la valeur d un champ Entry pour l enregistrer dans une base de donnée. (je sais faire en php) je ne m attaque donc pas à une montagne !
    Ce n'est pas parce que cela vous paraît simple qu'il n'y a pas plein de choses à maîtriser pour y arriver! Dans la plupart des tutos, la programmation avec tkinter se fait au bout d'une dizaine de chapitres.

    Citation Envoyé par bilcosby Voir le message
    première question : tkinter est il le plus adapter, parce que sur tout les tutos que j ai lu, base de donnée = site web je trouve cela bizarre !
    GUI = client lourd: tout s'exécute sur le PC avec un éventuel serveur de base de données partagé.
    C'est une architecture technique des années (19)90.

    En 2013, on a des clients légers où les applications se chargent sur une tablette et le côté serveur fait bien plus que l'accès à la base de données. Et les années 2000 ont vu le succès de site Web écrits avec PHP, JSP/Java,... et une interface utilisateur basés sur les possibilités d'un navigateurs Web et les langages HTML/CSS.
    Vous avez donc trois architectures techniques assez différentes où travail de conception, bibliothèques, programmation,... seront très différents.

    Après est ce que tkinter est "adapté" à la programmation d'application graphique sur un PC, ça fait longtemps qu'il l'est... Et il a l'avantage d'être facile pour apprendre des bases qui vous serviront le jour où (éventuellement) vous aurez besoin d'un GUI plus "complet" (mais qui restera dans la conception d'application du siècle dernier).

    Citation Envoyé par bilcosby Voir le message
    et ou trouver des infos qui traiterais de ce sujet précisément ? j'ai suivis une formation de 35 vidéos sur YouTube (très bien faite d ailleurs) mais ça survol le sujet..
    Si vous ne savez pas encore récupérer le contenu d'une Entry pour en faire quelque chose... c'est que vos connaissances sur les bases de la programmation d'un GUI de type tkinter sont à acquérir. ëut être que le Swinnen vous intéressera? Mais un tuto, soit on accroche et on va pouvoir apprendre des choses avec soit il ne sert à rien parce qu'on attend autre chose. A vous de trouver votre chemin: internet est plein de ressources.

    Citation Envoyé par bilcosby Voir le message
    si je cherche toujours à récupérer mes variables qui doivent passer de la fenêtre 1 à la fenêtre 2, je cherche autour de GET, mais je ne suis sur de rien, même dans la doc python ....
    Vous n'avez pas encore trouvé une documentation? Sûr que vous débutez.... vous avez des tas de ressources dans le forum tkinter.
    Mais si vous voulez de l'aide (pour comprendre ce qui ne va pas dans votre code), il faut poster ce que vous avez fait...

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

  7. #7
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Il serait plus simple de présenter un code simple montrant ce que vous voulez faire... car je ne vois pas la difficulté.

    Effectivement la méthode get permet de récupérer le contenu d'un widget Entry, mais quel est le problème, je ne comprend pas où est la difficulté pour vous ?

    Avez vous un code simple, par ex. Un widget Entry, Button et votre fonction récupérant le contenu de votre widget Entry ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Par défaut
    merci a vous
    je pense avoir reussi : je decoupe le code pour faire plus court :
    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
    fenetre principale :
    global var_nom , var_prenom ,var_tel1 ect............
     
    frame2 = Frame(mainapp, highlightthickness=1, bg='lightgray')
    llabelnom = Label(frame2, text='Nom', fg='black', bg='lightgray', font=('', 10))
    entree_nom = Entry(frame2, textvariable=var_nom)
     
    btn_2 = Button(frame2, text='ENREGISTRER', command=affichefenetre2, height=2, width=30) 
     
     
     
    2eme fenetre :
    def affichefenetre2():
        fenetre2 = tk.Toplevel(mainapp)
        fenetre2.title('reception BDD')
     
     
        labelnom2 = Label(fenetre2, text='entree_nom', fg='black', bg='lightgray', font=('', 10))
        labelnom2.place(x=50, y=10)
    j espère que ça va être clair !
    je me suis passé de GET, est passer les variables en "globale"


    EDIT: heu ben non ça marche pas !!

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par bilcosby Voir le message
    je pense avoir reussi : je decoupe le code pour faire plus court
    Un code dans lequel il y a juste une entry, un bouton (de validation) qui appelle une fonction qui affichera (print) le contenu de l'entry suffit pour décortiquer les mécanismes à connaître.
    Cela ne devrait faire que quelques dizaines de lignes: facile à poster pour visualiser le problème rencontré.

    Cela fait, on pourra remplacer le print par un widget...

    note: pour le peu de code que vous avez montré, apprenez à utiliser pack et grid plutôt que place (qui n'est pas trop fait pour ce que vous êtes en train de faire).

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

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Par défaut
    certes, mais si ce widget ne récupère pas la variable.......
    voici le code en entier, avec des choses bizarre qui s y passe !
    désolé c'est long !

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    # coding:utf-8
    from tkinter import Tk
     
     
     
    from tkinter import *
    import tkinter as tk
     
    mainapp = Tk()
    mainapp.title("Mainapp")
    mainapp['bg'] = 'lightgray'
     
     
     
    # centrer la fenetre"approximatif
    screen_x = int(mainapp.winfo_screenwidth())
    screen_y = int(mainapp.winfo_screenheight())
    windows_x = 600
    windows_y = 570
    # geometry("X[largeur]xY[hauteur]+absysse haut+absysse gauche")
    # position_x = largeur ecran diviser par 2- (largeur fenetre//2)
    # position_y = hauteur ecran diviser par 2- (hauteur fenetre//2)
     
     
    para_x = (screen_x // 2) - (windows_x // 2)
    para_y = (screen_y // 2) - (windows_y // 2)
     
    geometrie = "{}x{}+{}+{}".format(windows_x, windows_y, para_x, para_y)
     
    mainapp.geometry(geometrie)
     
     
     
     
     
     
     
    # INTERIEUR DE LA FENETRE 1
     
    global var_nom , var_prenom ,var_tel1,var_tel2 ,var_ville,var_codepostal ,var_pub,var_nomrech,var_telrech
     
    var_nom = StringVar()
    var_prenom = StringVar()
    var_tel1 = int()
    var_tel2 = int()
    var_ville = StringVar()
    var_codepostal = int()
    var_pub = StringVar()
    var_nomrech = StringVar()
    var_telrech = int()
    recupnom = StringVar()
    textvariable = int()
     
     
    # ************************************** fenetre 2 *****************************************************************
     
    def affichefenetre2():
        fenetre2 = tk.Toplevel(mainapp)
        fenetre2.title('reception BDD')
     
        # centrer la fenetre"approximatif
        screen_x = int(fenetre2.winfo_screenwidth())
        screen_y = int(fenetre2.winfo_screenheight())
        windows_x = 300
        windows_y = 250
        para_x = (screen_x // 2) - (windows_x // 2)
        para_y = (screen_y // 2) - (windows_y // 2)
        geometrix = "{}x{}+{}+{}".format(windows_x, windows_y, para_x, para_y)
        fenetre2.geometry(geometrix)
     
        print(var_codepostal)
     
        labelnom2 = Label(fenetre2, text='entree_nom', fg='black', bg='lightgray', font=('', 10))
        labelnom2.place(x=50, y=10)
     
        labelprenom2 = Label(fenetre2, text='entree_prénom', fg='black', bg='lightgray', font=('', 10))
        labelprenom2.place(x=50, y=30)
     
        labeltel1_2 = Label(fenetre2, text='entree_tel-1x', fg='black', bg='lightgray', font=('', 10))
        labeltel1_2.place(x=50, y=50)
     
        labeltel2_2 = Label(fenetre2, text='entree_tel-2', fg='black', bg='lightgray', font=('', 10))
        labeltel2_2.place(x=50, y=70)
     
        labelville2 = Label(fenetre2, text='entree_ville', fg='black', bg='lightgray', font=('', 10))
        labelville2.place(x=50, y=90)
     
        labelcodepostal2 = Label(fenetre2, text='entree_code.P', fg='black', bg='lightgray', font=('', 10))
        labelcodepostal2.place(x=50, y=120)
     
        labelpub2 = Label(fenetre2, text='entree_pub', fg='black', bg='lightgray', font=('', 10))
        labelpub2.place(x=50, y=150)
     
     
     
     
     
     
     
     
    def recherche():
        labelretour1.place(x=300, y=280)
     
     
    # ************************************** FRAME 1 *****************************************************************
     
    labeltitre1 = Label(mainapp, text='RECHERCHE CLIENT', fg='black', bg='lightgray', font=('', 12, 'bold'))
     
    frame1 = Frame(mainapp, highlightthickness=1, bg='lightgray')
     
    labelnomrech = Label(frame1, text='PAR NOM        :', fg='black', bg='lightgray', font=('', 10))
    entree_nomrech = Entry(frame1, textvariable=var_nomrech)
    labeltelrech = Label(frame1, text='PAR NUM-TEL  :', fg='black', bg='lightgray', font=('', 10))
    entree_telrech = Entry(frame1, textvariable=var_telrech)
     
     
    btn_1 = Button(frame1, text='Rechercher', command=recherche, height=2, width=30)
     
    labelretour1 = Label(mainapp, text='Affiche Recherche', fg='black', bg='lightgray', font=('', 12, 'bold'))
     
     
    # ************************************** FRAME 2 ******************************************************************
     
    labeltitre2 = Label(mainapp, text='NOUVEAU CLIENT', font=('', 12, 'bold'), bg='lightgray')
    frame2 = Frame(mainapp, highlightthickness=1, bg='lightgray')
     
    labelnom = Label(frame2, text='Nom', fg='black', bg='lightgray', font=('', 10))
    entree_nom = Entry(frame2, textvariable=var_nom)
     
    labelprenom = Label(frame2, text='Prénom', fg='black', bg='lightgray', font=('', 10))
    entree_prenom = Entry(frame2, textvariable=var_prenom, )
     
    labeltel1 = Label(frame2, text='Tel-1', fg='black', bg='lightgray', font=('', 10))
    entree_tel1 = Entry(frame2, textvariable=var_tel1)
     
    labeltel2 = Label(frame2, text='Tel-2', fg='black', bg='lightgray', font=('', 10))
    entree_tel2 = Entry(frame2, textvariable=var_tel2)
     
    labelville = Label(frame2, text='Ville', fg='black', bg='lightgray', font=('', 10))
    entree_ville = Entry(frame2, textvariable=var_ville)
     
    labelcodepostal = Label(frame2, text='Code.P', fg='black', bg='lightgray', font=('', 10))
    entree_codepostal = Entry(frame2,textvariable=var_codepostal )
     
    labelpub = Label(frame2, text='Pub', fg='black', bg='lightgray', font=('', 10))
    entree_pub = Entry(frame2, textvariable=var_pub)
     
    btn_2 = Button(frame2, text='ENREGISTRER', command=affichefenetre2, height=2, width=30)
    labelretour2 = Label(mainapp, text='DONNEES ENREGISTREES 1', fg='black', bg='lightgray', font=('', 12, 'bold'))
     
     
    #**************************************************************************************************************
     
    labeltitre1.place(x=60, y=5)
    frame1.place(x=58, y=35, width=500, height=200)
    labelnomrech.place(x=50, y=20), entree_nomrech.place(x=155, y=20)
    labeltelrech.place(x=50, y=65), entree_telrech.place(x=155, y=65)
    btn_1.place(x=150, y=140)
     
    labeltitre2.place(x=60, y=310)
    frame2.place(x=58, y=340, width=500, height=200)
    labelnom.place(x=10, y=10), entree_nom.place(x=80, y=10),
    labeltel1.place(x=220, y=10), entree_tel1.place(x=285, y=10)
    labelprenom.place(x=10, y=40), entree_prenom.place(x=80, y=42),
    labeltel2.place(x=220, y=40), entree_tel2.place(x=285, y=42)
    labelville.place(x=10, y=70), entree_ville.place(x=80, y=72),
    labelcodepostal.place(x=220, y=70), entree_codepostal.place(x=285, y=72)
    labelpub.place(x=10, y=100), entree_pub.place(x=80, y=102)
    btn_2.place(x=150, y=140)
    #labelnomrecup.place(x=20, y=50)
     
     
     
    mainapp.mainloop()

  11. #11
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    bonjour
    Citation Envoyé par bilcosby Voir le message
    certes, mais
    Certes, donc je ne tiens pas compte de vos écrits ?

    En html, il est normal de positionner tous les tags en absolu ? Pourquoi vouloir le faire ici ? Oui, si on aime les complications.

    En html, si tu ne comprends pas un passage de valeurs entre pages, tu vas créer un formulaire de 50 imputs pour test ? Un seul input ou 50 va changer quelque chose ?

    Note: Ici aucun rapport avec les Bases de données ! Tu as en fait aucune notion de tk. Dans ce cas, on débute par le b.a-ba.

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par bilcosby Voir le message
    certes, mais si ce widget ne récupère pas la variable.......
    Relisez la ligne 73, on y trouve:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        labelnom2 = Label(fenetre2, text='entree_nom', fg='black', bg='lightgray', font=('', 10))
    vous espérez que dire text='entree_nom' est une incantation magique qui va récupérer le contenu de l'Entry associée à la variable entree_nom?

    Et je passe sur le reste...
    Comment vous êtes partie à écrire autant de lignes de code sans savoir faire fonctionner la mécanique avec 2/3 widgets? Il faut arrêter de planer là: le code que vous écrivez sera "pensé" en fonction de ce que vous aurez appris à faire avec tkinter. Et tant que vous patauger, sa structure sera à définir: pas la peine de l'encrasser avec des tas de lignes.

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

Discussions similaires

  1. [Python 3.X] Image blanche mais image correcte en pas à pas avec tkinter
    Par SPC89 dans le forum Général Python
    Réponses: 3
    Dernier message: 12/04/2017, 20h00
  2. [Python 2.X] Ne pas modifier la dynamique de couleur dans un canvas de Tkinter
    Par Nicolas51 dans le forum Tkinter
    Réponses: 1
    Dernier message: 03/05/2015, 12h10
  3. [Question] Projet ISN - Tkinter ou pas ?
    Par Tom38211 dans le forum Tkinter
    Réponses: 3
    Dernier message: 21/12/2014, 20h44
  4. [Tkinter] Probleme de Bind clavier : marche pas :(
    Par topzozo dans le forum Tkinter
    Réponses: 2
    Dernier message: 27/05/2007, 02h17
  5. [Tkinter] Thread pas logique!
    Par airod dans le forum Tkinter
    Réponses: 4
    Dernier message: 26/11/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