Pada tutorial kali ini, anda akan dipandu dalam membuat sebuah aplikasi desktop
sederhana dengan menggunakan pyqt. Pyqt adalah sebuah aplikasi multi-platform untuk
pengembangan aplikasi desktop. PyQt dikembangan oleh Riverbank Computing Limited.
Dengan menggunakan platform Qt, memungkinkan kita mengembangan aplikasi dengan
Graphical User Interface (GUI) sesuai dengan keinginan pengembang.
Sebelum memasang pyqt, pastikan anda sudah memasang aplikasi Python. Untuk
memasang Python anda dapat mengunduh terlebih dahulu file instalasinya pada situs:
https://www.python.org/downloads/. Sesuaiakan python yang anda unduh dengan sistem
operasi yang anda gunakan.
I. Instalasi Python di Windows
Setelah anda mengunduh python, lakukan instalasi dengan mengikuti langkah-langkah
berikut:
1. Pilih Install Now, dan tunggu proses pemasangan berjalan hingga selesai.
3. Klik kembali tombol windows, ketik “environment” di kolom pencarian, lalu pilih
“Edit the system environment variables”. Pilih “environment variables”. Edit pada
“value Path”
4. Tambahkan path python ke dalam system variables dengan cara mempaste path yang
sebelumnya sudah dicopy, termasuk path scripts python. Jika sudah ditambahkan atau
sudah ada sebelum dilakukan penambahan, biarkan dan klik OK agar semua
penambahan yang dilakukan tersimpan.
Tunggu proses download dan instalasi package selesai. Setelah proses instalasi selesai,
maka package pyqt5 sudah terinstal pada komputer anda.
III. Qt Designer
Pada bagian ini, kita akan mengulas secara singkat tentang Qt Designer sebagai alat
bantu mengembangkan aplikasi desktop. Untuk mengakses Qt Designer dapat dilakukan
melalui cmd dengan cara mengetikkan perintah:
qt5-tools designer
Setelah dijalankan, maka akan muncul tampilan awal Qt Designer.
1 3
2
Keterangan:
1. Bagian pertama merupakan pilihan template, ketika program pertama kali dijalankan,
anda akan diberikan pilihan apakah menggunakan template yang sudah ada. Template
dasar yang sudah disediakan berupa MainWindow, Widget dan beberapa template
lainnya yang bisa dipilih.
2. Bagian kedua terdiri dari berbagai jenis widget yang dapat digunakan untuk membuat
dan mengatur aplikasi. Beberapa dari kelompok widget terdiri dari Layouts, Spacers,
Button, Display, Item Views dan beberapa widget lainnya.
3. Bagian ketiga adalah Object Inspector yang akan terisi dengan Main Window dan
Widget yang sudah ditambahkan. Adapun pilihan Property Editor merupakan
personalisasi dari masing-masing object (Main Window dan Widget) yang ingin di
kustomisasi baik tampilan maupun propertiesnya yang lain. Terdapat pula pengaturan
signal dan slot yang bisa dipilih agar lebih memudahkan nanti pengkodean untuk
menjalankan program sesuai dengan keinginan pengembang.
IV. Desain Antarmuka (Interface) Aplikasi Desktop
Pada kesempatan kali ini, kita akan belajar membuat aplikasi desktop sederhana
menggunakan bahasa pemrogaman python dengan library pyqt5 yang sudah kita install
sebelumnya. Kita dapat membuat aplikasi desktop sederhana dengan menggunakan bantuan
Graphical User Interface (GUI) yang disediakan oleh pyqt5. Tutorial kali ini akan
mengajarkan pembuatan aplikasi kalkulator sederhana.
Langkah 1: Setelah Qt Designer terbuka, pilih MainWindow dan klik create
Langkah 2: Pilih Grid Layout [1] pada Layout bagian WidgetBox dengan cara tarik dan lepas
(drag and drop) ke MainWindow [2].
Kemudian klik kanan pada bagian luar Grid Layout (luar garis merah), arahkan cursor ke
Layout > Lay Out Vertically
drop here!!!
2
Langkah 3: Tambahkan pushbutton(tombol) ke dalam Grid Layout (kotak merah) dengan cara
drag and drop. Untuk penambahan tombol lain pada posisi sebelah kanan/bawah drag dan
drop pushbutton sampe terlihat garis berwarna biru baik sebelah kanan maupun bawah.
Langkah 4: Tambahkan Label dari Display Widget ke dalam MainWindow. Perbesar ukuran
label sampai memenuhi keseluruhan grid dengan cara memposisikan cursor pada titik tengah
dan tarik ke arah kanan.
Langkah 5: Ganti nama masing-masing pushbutton dan label yang ada di MainWindow
dengan cara klik dua kali pada setiap pushbutton atau label.
Langkah 7: Kustomisasi. Perihal kustomisasi bukanlah hal yang wajib dilakukan (opsional),
dalam hal ini akan diberikan contoh untuk mengkustomisasi ukuran dan tampilan dari desain
antar muka yang sudah dibuat. Pada contoh kali ini akan diberikan petunjuk cara
mengkustomisasi ukuran label dan pushbutton.
- Klik label dan masuk pada property editor, cari bagian size policy, atur inputan menjadi
seperti berikut:
- Seleksi semua pushbutton dengan cara menahan control dan memilih satu persatu
pushbutton sampai semuanya terseleksi. Selanjutnya cari size policy, atur inputan
menjadi seperti berikut:
Langkah 8: Stylesheet. Pada tahap ini kita akan mengatur tampilan seperti jenis dan ukuran
font, warna font, warna latar, border dan lain sebagainya. Untuk kostumisasi tampilan dapat
dilakukan dengan mencari stylesheet pada property editor, dan masih dalam keadaan
pushbutton terseleksi semua.
Kita juga dapat mengkustomisasi label dengan cara yang sama seperti kita mengkustomisasi
pushbutton.
Langkah 9: Mengganti nama object pushbutton agar lebih mempermudah proses
pemrograman. Lakukan tahap ini secara berulang, klik satu persatu pushbutton dan ganti nama
objectnya pada object inspector, sesuaikan dengan tombol yang diganti namanya.
Langkah 10: Proses mengubah file UI (User Interface) yang dibuat dengan Qt Designer
menjadi file Python yang dapat dieksekusi.
- Terlebih dahulu simpan file yang sudah dibuat (agar lebih mudah diakses bisa disimpan
pada Desktop). Simpan dengan nama file yang anda inginkan.
- Mengakses lokasi penyimpanan file (Desktop) dilakukan melalui cmd karena kita juga
akan mengubah file interface ke file python yang bisa dieksekusi. Untuk mengubah
lokasi penyimpanan gunakan perintah cd (change directory)
cd Desktop
- Tahapan selanjutnya adalah membuat fungsi. Karena pada langkah sebelumnya kita
menggunakan signal dan slot untuk menghubungkan pushbutton ketika di tekan maka
dia akan menerima signal untuk menjalankan fungsi. Fungsi yang dibuat disesuaikan
dengan nama slot fungsi yang sudah didefinisikan sebelumnya. Tambahkan kode
berikut untuk keseluruhan fungsi setelah perintah
self.tombol_hasil.clicked.connect(self.fungsi_hasil)
Tambahkan seperti contoh di bawah ini:
def input_0(self):
text = self.label.text()
self.label.setText(text+"0")
def input_1(self):
text = self.label.text()
self.label.setText(text+"1")
def input_2(self):
text = self.label.text()
self.label.setText(text+"2")
def input_3(self):
text = self.label.text()
self.label.setText(text+"3")
def input_4(self):
text = self.label.text()
self.label.setText(text+"4")
def input_5(self):
text = self.label.text()
self.label.setText(text+"5")
def input_6(self):
text = self.label.text()
self.label.setText(text+"6")
def input_7(self):
text = self.label.text()
self.label.setText(text+"7")
def input_8(self):
text = self.label.text()
self.label.setText(text+"8")
def input_9(self):
text = self.label.text()
self.label.setText(text+"9")
def input_koma(self):
text = self.label.text()
self.label.setText(text+".")
def fungsi_plus(self):
text = self.label.text()
self.label.setText(text+"+")
def fungsi_min(self):
text = self.label.text()
self.label.setText(text+"-")
def fungsi_clear(self):
text = self.label.text()
self.label.setText("")
def fungsi_perkalian(self):
text = self.label.text()
self.label.setText(text+"*")
def fungsi_pembagian(self):
text = self.label.text()
self.label.setText(text+"/")
def fungsi_akar(self):
text = self.label.text()
number = float(self.label.text())
result = number ** 0.5
self.label.setText(str(result))
def fungsi_percent(self):
text = self.label.text()
number = float(self.label.text())
result = number /100
self.label.setText(str(result))
def fungsi_pangkat(self):
text = self.label.text()
self.label.setText(text+"**")
def fungsi_hasil(self):
text = self.label.text()
try:
result = eval(text)
self.label.setText(str(result))
except:
self.label.setText("Error")