Add script to generate qr from clipboard

This commit is contained in:
Sekun 2024-08-11 23:36:03 +02:00
parent 311eebaf0f
commit 21dbae764a

54
prog/qr.py Normal file
View file

@ -0,0 +1,54 @@
#!/usr/bin/env python3
"""
QR Code creation from clipboard.
Test this program simply with pipx:
pipx run https://git.sekun.eu/sekun/utils/raw/branch/main/prog/qr.py
"""
# /// script
# dependencies = [
# "pyqrcode",
# ]
# ///
import tkinter as tk
from tkinter import messagebox
import pyqrcode as qr
def main():
root = tk.Tk()
root.title = "Qr code"
root.state("iconic")
data = root.clipboard_get()
try:
code = qr.create(data)
except ValueError as e:
messagebox.showerror(
"Qr code", f"Erreur lors de la création du code QR.\n«{e}»"
)
exit(1)
sw = root.winfo_screenwidth()
sh = root.winfo_screenheight()
size = min(sw, sh) - 100
scale = size // (len(code.code[0]) + 8)
img = tk.BitmapImage(data=code.xbm(scale=scale))
w = img.width()
root.geometry(f"{w}x{w}+50+50")
img.config(background="white")
label = tk.Label(root, image=img)
label.pack()
root.mainloop()
if __name__ == "__main__":
main()