Bonjour,
j'ai créé un widget pour identification :
Identifiant, mot de passe, chemin de fichier.
Je souhaite afficher par défaut les éléments de la dernière connexion.
Comment utiliser stringvar ?
Merci de votre aide
Cordialement
Version imprimable
Bonjour,
j'ai créé un widget pour identification :
Identifiant, mot de passe, chemin de fichier.
Je souhaite afficher par défaut les éléments de la dernière connexion.
Comment utiliser stringvar ?
Merci de votre aide
Cordialement
Bonjour,
Merci pour la réponse.
Je n'ai pas trouvé la réponse à ma question : une bonne raison, question mal formulée.
Ci-dessous le script qui me pose problème. je n'arrive pas à remplir les 3 champs avec les valeurs par défaut.
J'ai la même variable dans toutes les entry.Code:
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 #/usr/local/bin/python # -*- coding: utf-8 -* from tkinter import * import sqlite3 import os import shutil import time import codecs def repondre(): ident = (identifiant.get()) pwd = (passe.get()) fic = (dest.get()) if os.path.exists(lien + '/eqsl.conf'): os.remove(lien + '/eqsl.conf') else: if not os.path.exists(lien): os.mkdir('/home/daniel/.config/eqsl') config = open(lien + '/eqsl.conf','a') print(config) fic = fic.replace('/','ww') enreg= (ident + ',' + pwd + ',' + fic) config.write(enreg) config.close() Mafenetre = Tk() Mafenetre.title('RECUPERATION DES E-SQL SUR E_QSLCC') Mafenetre.geometry('500x200+400+400') f1 = Frame(Mafenetre, bg = "#d0d0b0",bd = 2) f1.pack(side=LEFT,padx = 20) w = Canvas(f1, width=500, height=300, bg = 'yellow') txt = w.create_text(230,20, text= 'Identifiez-vous !' ,fill = 'blue',font = 15) lien = '/home/daniel/.config/eqsl' print if os.path.isfile(lien + '/eqsl.conf'): config = open(lien + '/eqsl.conf','r') ligne = config.read() if not ligne == "": ligne = ligne.replace('ww','/') print('li',ligne) masque = ligne.split(',') ma_var0 = (masque[0]) ma_var1 = (masque[1]) ma_var2 = (masque[2]) else: ma_var0 = ("") ma_var1 = ("") ma_var2 = ("") # valeur pour le test ma_var0 = "f6aap" ma_var1 = "mdp" ma_var2 = "/home/daniel/Documents/Eqslcard/Eqsl" nom = Label(w, text = ' Votre Identifiant :',) nom.place(relx=0.28, rely=0.3, anchor=CENTER) ma_var = StringVar() ma_var.set(ma_var0) identifiant = Entry(Mafenetre,textvariable=ma_var) identifiant.place(relx=0.6, rely=0.3, anchor=CENTER) print(ma_var,ma_var0) mdp = Label(Mafenetre, text = ' Votre mot de passe :',) mdp.place(relx=0.3, rely=0.45, anchor=CENTER) ma_var.set(ma_var1) passe = Entry(Mafenetre,textvariable=ma_var) passe.place(relx=0.6, rely=0.45, anchor=CENTER) fic = Label(Mafenetre, text = ' Fichier destination des QSL :',) fic.place(relx=0.25, rely=0.60, anchor=CENTER) ma_var.set(ma_var2) dest = Entry(Mafenetre,textvariable=ma_var) dest.place(relx=0.6, rely=0.60, anchor=CENTER) bouton=Button(w, text="Valider",command = repondre) bouton.place(relx=0.6, rely=0.85, anchor=CENTER) w.pack() w.delete() Mafenetre.mainloop()
Après plusieurs tentatives je n'ai toujours pas la bonne réponse.
Merci de m'aider à résoudre mon problème,
Cordialement
Salut,
Les variables Tk peuvent être associées à plusieurs widgets différents. Ce qui permet de mettre à jour ce qui sera affiché par les différents widgets une seule fois via la mise à jour d'une seule variable...
Si ce n'est pas ce que vous voulez, utilisez des variables différentes mais dans ce cas, autant mettre à jour les widgets directement...
- W