Pemanfaatan PyQT untuk Membangun Aplikasi Berbasis GUI
Bismillaah Alhamdulillah.
PyQt adalah satu set binding (disebut juga plug-in atau library) Python untuk kerangka aplikasi Qt yang dibuat oleh perusahaan Qt dan berjalan di semua platform yang didukung oleh Qt termasuk Windows, macOS, Linux, iOS, dan Android. PyQt6 mendukung Qt v6, PyQt5 mendukung Qt v5 dan PyQt4 mendukung Qt v4. Binding diimplementasikan sebagai satu set modul Python dan berisi lebih dari 1.000 kelas¹.
Dalam tutorial kali ini saya akan menggunakan PyQt5 dan python 3.8 pada lingkungan Anaconda. PyQt5 adalah satu set lengkap binding Python untuk Qt v5. Dalam versi ini terdapat lebih dari 35 modul ekstensi dan memungkinkan Python untuk digunakan sebagai bahasa pengembangan aplikasi alternatif untuk C++ di semua platform yang didukung termasuk iOS dan Android².
Untuk instalasi PyQt5 di console dapat mengeksekusi perintah berikut:
pip install PyQt5
Sedangkan, di Anaconda Prompt³ (console Conda) adalah:
conda install -c anaconda pyqt
Gunakan salah satu saja, yang penting instalasi PyQt5 berhasil. Dan disarankan sudah disiapkan virtual environment khusus pembangunan aplikasi berbasis GUI (Graphical User Interface) Qt ini.
Tahapan Instalasi
a. Buat venv atau virtual environment (dalam hal ini saya menggunakan Conda⁴) via console yang dapat mengaktifkan python.
Nama venv adalah “MyGUI”, dengan versi python 3.8.
conda create -n MyGUI python=3.8
b. Aktifkan venv
conda activate MyGUI
c. Instalasi PyQt 5
conda install -c anaconda pyqt
Berikut tampilan hasil instalasi
Pastikan instalasi sukses hingga memunculkan informasi:
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Tahapan Uji Coba
Untuk menerapkan kode pengembangan antarmuka berbasis Qt dapat dilakukan melalui pengetikan kode di editor secara langsung atau juga dapat melalui Qt Designer yang kemudian dikonversi ke bentuk kode.
Berikut ini contoh penerapan kode secara langsung di editor.
Jalankan program.
python tes_pyqt.py
Tampilannya adalah sebagai berikut.
Uji Coba Qt Designer
Untuk menjalankan aplikasi Qt Designer, ketikkan perintah berikut di console.
designer
kemudian tekan [Enter] hingga memunculkan aplikasi Qt Designer seperti pada gambar berikut.
kemudian, untuk membuat desain antarmuka baru, pilih (tekan) tombol Create.
Desain awal kira-kira seperti ini.
Simpan file, misalnya dengan nama: desain_awal.ui
Berikutnya konversi ke dalam bentuk kode python dengan mengetikkan perintah berikut di console.
pyuic5 -x desain_awal.ui -o desain_awal.py
Keterangan:
- pyuic5 adalah perintah memanggil aplikasi converter.
- -x adalah parameter untuk menerima nama file desain (.ui)
- -o adalah parameter luaran untuk menampung hasil konversi (.py)
Hasil konversi adalah sebagai berikut.
Source code di atas hanya berfungsi menampilkan antarmuka dan widget saja, untuk menambahkan aksi, berikutnya adalah.
a. Buat fungsi untuk mengambil isi line edit dan ditampilkan di label output.
def AktivasiTombol(self):
nama = self.lineEdit_Nama.text()
self.label_Output.setText(f"Halo, {nama}. Apa kabar?")
b. Buat perintah untuk mengaktivasi tombol (push button) yang di letakkan di dalam modul/fungsi setupUi(self, MainWindow).
# aktivasi tombol
self.pushButton.clicked.connect(self.AktivasiTombol)
Lengkapnya adalah sebagai berikut.
Dan tampilan program setelah tombol ditekan adalah:
Catatan.
Sebagian orang lebih memilih mengetikkan langsung kode-kode terkait komponen Qt di editor, tanpa melalui membuat desain antarmuka. Tapi ada juga yang lebih memilih membuat desain antarmuka di Qt Designer terlebih dahulu, kemudian mengkonversinya ke bentuk source code.
Demikian tutorial melakukan instalasi PyQt dan cara menjalankannya. Terima kasih.
Contoh aplikasi GUI menggunakan PyQt untuk pencarian dokumen digital saya ada di GitHub.
Referensi.
- Riverbank Computing. (n.d.). What is PyQt?. Retrieved October 07, 2021, from https://riverbankcomputing.com/software/pyqt/intro
- Python Package Index. (2021, March 21). Python bindings for the Qt cross platform application toolkit. Retrieved October 07, 2021 from https://pypi.org/project/PyQt5/
- Anaconda. (2020, December 11). Python binding of the cross-platform GUI toolkit Qt. Retrieved October 07, 2021 from https://anaconda.org/anaconda/pyqt
- Conda. (2017). Retrieved October 07, 2021 from https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html