Pemanfaatan PyQT untuk Membangun Aplikasi Berbasis GUI

Galih Hermawan
4 min readOct 7, 2021

--

QT Designer. Screenshot by Author

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

Instalasi PyQt. Screenshot by Author

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.

Screenshot by Author

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.

Qt Designer. Screenshot by Author

kemudian, untuk membuat desain antarmuka baru, pilih (tekan) tombol Create.

Desain awal kira-kira seperti ini.

Desain Awal. Screenshot by Author

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:

Hasil eksekusi program. Screenshot by Author

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.

  1. Riverbank Computing. (n.d.). What is PyQt?. Retrieved October 07, 2021, from https://riverbankcomputing.com/software/pyqt/intro
  2. 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/
  3. Anaconda. (2020, December 11). Python binding of the cross-platform GUI toolkit Qt. Retrieved October 07, 2021 from https://anaconda.org/anaconda/pyqt
  4. Conda. (2017). Retrieved October 07, 2021 from https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html

--

--

Galih Hermawan
Galih Hermawan

Written by Galih Hermawan

Lecturer and Researcher. Informatics Engineering. UNIKOM. New blog https://blog.galih.eu

No responses yet