Il codice Python
qui proposto sfrutta le librerie grafiche QtPy5
, per generare un QrCode.
Vediamo, dapprima, la struttura del programma in Qt Designer
:
Sia al bottone (pB_genera
) che alla QLineEdit (lE_testo
) è stato associato il metodo pB_valutaClick
() della classe Ui(QWidget)
. La classe Ui(QWidget)
è così costruita:
class Ui(QWidget):
def __init__(self):
super().__init__()
uic.loadUi('qrcode.ui', self)
self.setFixedSize(500, 390)
def pB_valutaClick(self):
try:
# String which represents the QR code
s = (self.lE_testo.text())
# output file name
filename = "qrcode.png"
filename_svg = "qrcode.svg"
# Generate QR Code
img = pyqrcode.create(s)
img.png(filename, scale=7)
if self.cB_svg.isChecked():
img.svg(filename_svg, scale=8)
pixmap = QPixmap(filename)
self.lab_output.setPixmap(pixmap)
except:
print('Valore nel campo non accettato')
Il codice provvede a costruire l’oggetto window
, istanza della classe Ui()
, attraverso l’istruzione:
app = QApplication(sys.argv)
window = Ui()
window.show()
sys.exit(app.exec())
Si è scelto di dare la possibilità di salvare il qrcode generato anche in formato .svg allorquando il QcheckBox
, nominato cB_svg
, risulta essere flaggato:
if self.cB_svg.isChecked():
img.svg(filename_svg, scale=8)
Qui è possibile recuperare il codice del progetto completo.