Membuat QR Code Generator dengan Python

 

Membuat QR Code Generator dengan Python dan PyQt5

PythonCodeID - QR Code, atau Quick Response Code, adalah jenis kode matriks dua dimensi yang dapat menyimpan berbagai informasi seperti URL, teks, atau data lainnya. Dalam era digital, QR Code menjadi alat yang sangat praktis untuk berbagi informasi secara cepat. Pada artikel ini PythonCodeID,  akan belajar bagaimana cara membuat aplikasi QR Code Generator menggunakan Python dan PyQt5.


PythonCodeID - Membuat QR Code Generator dengan Python
PythonCodeID - Membuat QR Code Generator dengan Python

Mengapa Memilih Python dan PyQt5?

Python dikenal sebagai bahasa pemrograman yang serbaguna dengan sintaks yang sederhana. PyQt5 adalah pustaka populer untuk membuat aplikasi GUI yang kaya fitur dan profesional. Dengan PyQt5, Anda dapat menciptakan aplikasi desktop yang lebih interaktif dan modern dibandingkan dengan pustaka GUI lainnya.

Langkah-Langkah Membuat QR Code Generator

1. Persiapan Lingkungan

Pastikan Anda telah menginstal Python di komputer Anda. Selanjutnya, instal pustaka yang dibutuhkan dengan menjalankan perintah berikut di terminal:


pip install pyqrcode pillow PyQt5



2. Kode Program

Berikut adalah kode lengkap untuk membuat aplikasi QR Code Generator menggunakan PyQt5, temans dapat menggunakan code editor yang biasa digunakan. Kesempatan kali ini PythonCodeID, menggunakan code editor VSCODE versi MacOS.

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton, QMessageBox
from PyQt5.QtGui import QPixmap
import pyqrcode
from PIL import Image

def generate_qr(data):
qr_code = pyqrcode.create(data)
qr_code.png("QRCode.png", scale=5)
return "QRCode.png"

class QRCodeGeneratorApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()

def initUI(self):
self.setWindowTitle("QR Code Generator - pythoncodeid.blogspot.com")
self.setGeometry(100, 100, 400, 300)

layout = QVBoxLayout()

self.label = QLabel("Masukkan Data:")
layout.addWidget(self.label)

self.input = QLineEdit()
layout.addWidget(self.input)

self.button = QPushButton("Generate QR Code")
self.button.clicked.connect(self.generate_qr_code)
layout.addWidget(self.button)

self.qr_label = QLabel()
layout.addWidget(self.qr_label)

self.setLayout(layout)

def generate_qr_code(self):
data = self.input.text()
if not data:
QMessageBox.critical(self, "Error", "Masukkan data terlebih dahulu!")
return

file_path = generate_qr(data)
pixmap = QPixmap(file_path)
self.qr_label.setPixmap(pixmap)

if __name__ == "__main__":
app = QApplication(sys.argv)
window = QRCodeGeneratorApp()
window.show()
sys.exit(app.exec_())
 

3. Penjelasan Kode

  • Import Pustaka:

     PyQt5.QtWidgets untuk membangun GUI.

     pyqrcode untuk menghasilkan QR Code.

     Pillow untuk memproses dan menyimpan gambar QR Code.

  • Fungsi generate_qr:

    Membuat QR Code menggunakan pustaka pyqrcode dan menyimpannya sebagai file PNG.

  • Kelas QRCodeGeneratorApp:

    Membuat antarmuka GUI menggunakan PyQt5.

    Mengatur tata letak, input, tombol, dan label untuk menampilkan QR Code.

PythonCodeID - Membuat QR Code Generator dengan Python
PythonCodeID - Membuat QR Code Generator dengan Python


4. Menjalankan Aplikasi

Simpan kode di atas dalam file Python, misalnya qr_code_generator.py, lalu jalankan menggunakan perintah berikut:


python qr_code_generator.py


Aplikasi akan menampilkan jendela GUI. Masukkan teks atau URL pada kolom input, klik tombol "Generate QR Code", dan hasil QR Code akan ditampilkan di layar. Temans PyCodingID dapat dengan mudah menjalankan Aplikasi QR Code sederhana ini, Simple dan Mudah.


Kesimpulan

Membuat QR Code Generator dengan Python dan PyQt5 adalah proyek yang menyenangkan dan bermanfaat. Proyek ini dapat membantu Anda memahami konsep dasar Python, pemrosesan data, serta pembuatan antarmuka pengguna yang profesional. Jangan ragu untuk mengembangkan aplikasi ini dengan menambahkan fitur seperti opsi penyimpanan file, pemilihan ukuran QR Code, atau integrasi dengan database.

Selamat mencoba, dan semoga artikel ini bermanfaat bagi perjalanan belajar Python Anda di PyCodingID

Posting Komentar

0 Komentar