Commit 1b2d24a8 authored by Thorfin89's avatar Thorfin89

Amélioration de la gestion des fichiers

parent 480b294f
......@@ -52,15 +52,31 @@ def open_file():
# enregistrer un fichier sous
def save_as():
global current_file
if current_file != "":
file = filedialog.asksaveasfilename(title="Enregistrer le QRCode au format PNG sous",
filetypes=[("Fichier PNG", "png")],
defaultextension="png",
initialdir="./qrcodes")
current_file = file
code()
else:
messagebox.showerror("Erreur", "Le fichier est vide")
save()
def save():
bs = boxe_size_scale.get()
br = border_size_scale.get()
# Codage
qr = qrcode.QRCode(
version=version,
error_correction=ERROR_CORRECT_M,
box_size=bs,
border=br
)
qr.add_data(text.get())
qr.make(fit='True')
# création et sauvegarde de l'image du QRCode
img = qr.make_image(fill_color=fg_color, back_color=bg_color)
img.save(current_file)
# lit l'image au format PNG et renvoie le texte
......@@ -164,18 +180,18 @@ def code():
# création et sauvegarde de l'image du QRCode
img = qr.make_image(fill_color=fg_color, back_color=bg_color)
img.save(current_file)
img.save("temp.png")
def display_qrcode():
global qrcode_img
# calcul de la taille du QRCode pour le centrer dans la fenêtre
img = Image.open(current_file)
img = Image.open("temp.png")
size = img.size
# affichage du QRCode
qrcode_img = PhotoImage(file=current_file)
qrcode_img = PhotoImage(file="temp.png")
qrcode_label.config(image=qrcode_img, bg="white")
qrcode_label.place(x=198 - size[0] // 2, y=198 - size[1] // 2) # centrage
......@@ -206,7 +222,7 @@ menu_general.add_cascade(label="Fichier", menu=menu_fichier)
# Création des sous menus 'Fichiers'
menu_fichier.add_command(label="Nouveau", command=new_file)
menu_fichier.add_command(label="Ouvrir", command=open_file)
menu_fichier.add_command(label="Enregistrer", command=code)
menu_fichier.add_command(label="Enregistrer", command=save)
menu_fichier.add_command(label="Enregistrer sous", command=save_as)
menu_fichier.add_command(label="Quitter", command=quit)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment