Problème récupération donné [Résolu]

Signaler
-
 hugoo0219 -
Bonjour à tous, j'ai actuellement un problème, ce problème c'est que j'ai un interface graphique tkinter avec des entry et un autre fichier avec mon code et j'ai aucune idée de comment récupérer les données des entry et les mettre dans mon code python pour que celui-ci puisse exécuter le code avec les entry des utilisateurs.
Merci de votre aide.
ps : je vous transmettrais le code si besoin

3 réponses

Messages postés
16033
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
bonjour,
difficile de t'aider avec les informations que tu partages.
as-tu examiné des exemples d'utilisation de tkinter?
oui j'ai déjà regardé pas mal de tuto et regardé mes cours mais je ne trouves pas. Un screen du code pourrait peut être aider ?
>
Messages postés
16033
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021

Voici le code pour le tkinter:

from tkinter import *
import tkinter as tk
from tkinter import ttk
from ttkthemes import themed_tk as tk

def display():
    frame = tk.ThemedTk()
    frame.get_themes()
    frame.set_theme("black")

    frame.title("1ARI_project")
    frame.minsize(width=400, height=400)
    frame.maxsize(width=400, height=400)
    frame.configure(bg='grey')

    title = Label(frame, text="Collon's Cypher", font=("Bauhaus 93", 20), bg='grey')
    title.pack()

    def GetEntry():
        get1 = entry1.get()
        get2 = entry2.get()
        get3 = entry3.get()
        get4 = entry4.get()
        print(get1, get2, get3, get4)

    def clearCommand():
        entry1.delete(0,'end')
        entry2.delete(0,'end')
        entry3.delete(0,'end')
        entry4.delete(0,'end')

    name = Label(frame, text="Clear", bg='grey',)
    name.place(x=80, y=50)

    entry1 = ttk.Entry(frame)
    entry1.place(x=135, y=50)

    email = Label(frame, text="Key", bg='grey')
    email.place(x=80, y=90)

    entry2 = ttk.Entry(frame)
    entry2.place(x=135, y=90)

    password = Label(frame, text="Length", bg='grey')
    password.place(x=80, y=130)

    entry3 = ttk.Entry(frame)
    entry3.place(x=135, y=130)

    CipherButton = ttk.Button(frame, text="Cipher", command=GetEntry)
    CipherButton.place(x=80, y=200)
    CipherButton.configure()

    DecipherButton = ttk.Button(frame, text="Decipher")
    DecipherButton.place(x=138, y=200)

    ClearButton = ttk.Button(frame, text="Clear")
    ClearButton.place(x=200, y=200)

    MakeGridButton = ttk.Button(frame, text="MakeGrid")
    MakeGridButton.place(x=260, y=200)

    cipher = Label(frame, text="Cipher", bg='grey')
    cipher.place(x=80, y=250)

    entry4 = ttk.Entry(frame)
    entry4.place(x=135, y=250)
    
    supprButton = ttk.Button(frame, text="Delete", command=clearCommand)
    supprButton.place(x=170, y=300, width=50, height=25)

    QuitButton = ttk.Button(frame, text="Quit", command=frame.destroy)
    QuitButton.place(x=175, y=335, width=40, height=25)

    author = Label(frame, text="Corentin Dureuil, Matteo Gora, Hugo Huygens", font=("Big Caslon", 8), bg='grey')
    author.place(x=175, y=380)

    frame.mainloop()

display()
> hugoo0219
Et voici le reste du code :

texte = input('entre un texte a chiffrer : ')

key = str(input('entre une clé de chiffrage : '))

longueur = int(input('Entre une longueur : '))

alphabet = "abcdefghijklmnopqrstuvwxyz"

row, column = 5 , 5

liste = []
liste2 = [[],[],[],[],[]]
def remplissageliste():
    for lettre in key:
        if lettre == "w":
            lettre = "v"
        if lettre not in liste  and lettre.isalpha() :
            liste.append(lettre)
            
    for lettre in alphabet :
        if lettre == "w":
            lettre = "v"
        if lettre not in liste and lettre.isalpha() and len(liste) < 25:
            liste.append(lettre)

remplissageliste()
def remplisagegrid():
    liste2 = [[],[],[],[],[]]
    for i in range (5):
        liste2[0].append(liste[i])
    for i in range (5 , 10):
        liste2[1].append(liste[i])
    for i in range (10 , 15):
        liste2[2].append(liste[i])
    for i in range (15 , 20):
        liste2[3].append(liste[i])
    for i in range (20 , 25):
        liste2[4].append(liste[i])
    print(liste2[1][3])
    print(liste2)
remplisagegrid()

def chiffrement():
    for i in range(len(texte)):

        if texte[i] in liste[0]:
            print(liste2[i])

        if texte[i] in liste[1]:
            print(liste2[i])

        if texte[i] in liste[2]:
            print(liste2[i])

        if texte[i] in liste[3]:
            print(liste2[i])

        if texte[i] in liste[4]:
            print("oui")

chiffrement()

def dechiffrement():
    print(" ")
dechiffrement()
> hugoo0219
En gros ce que je voulais faire c'est récupérer les données rentré par l'utilisateur et les chiffrer avec le code mais je n'arrive pas à lier entre eux, peut être faire tout le code directement sur le même fichier serait mieux ?
Messages postés
16033
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867 > hugoo0219
moi je ferais une fonction à trois paramètres qui exécute le reste du code.
et j'appelerais cette fonction à partir de tkinter.
ainsi:
from tkinter import *
def double(nombre):
    print(2*int(nombre))
def display():
    frame = Tk()
    def GetEntry():
        get1 = entry1.get()
        double(get1)
    entry1 = ttk.Entry(frame)
    DoubleButton = ttk.Button(frame, text="Double", command=GetEntry)
    entry1.pack()
    DoubleButton.pack()
    frame.mainloop()
display()
>
Messages postés
16033
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021

Merci je vais essayer ;)
Messages postés
1710
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
13 mai 2021
137
Salut,

Tu peux utiliser un module de sérialisation des données comme pickle par exemple. Attention, c'est indiqué dans la doc du module, il ne faut pas stocker des données sensibles.

https://docs.python.org/fr/3/library/pickle.html#module-pickle
Je vais regarder ça merci beaucoup