Setelah kita berhasil menginstall PySide, sekarang waktunya untuk menulis program pertama dengan PySide. Kodenya sangat simpel, saya akan menyajikannya dalam dua bentuk: yaitu bentuk prosedural di awal, dan OOP di bagian akhirnya (insyaallah akan dengan bentuk demikian sampai akhir tutorial).
import sys
from PySide import QtGui
"""
Jago Ngoding tutorial PySide bahasa Indonesia
author: Ibnu Jakaria
"""
# mendeklrasikan QtGui applikasi
app = QtGui.QApplication(sys.argv)
# mendeklarasikan window dari kelas QWidget
window = QtGui.QWidget()
window.resize(800, 600)
window.setWindowTitle('Jago Ngoding')
window.show()
sys.exit(app.exec_())
Penjelasan Kode Program
import sys
from PySide import QtGui
Di sini kita mengimport module yang perlu diimport. Dari PySide dan dari python itu sendiri.
app = QtGui.QApplication(sys.argv)
Setiap aplikasi Qt, butuh setidaknya satu (dan hanya satu) instance dari QApplication. Sekalipun di dalam aplikasi kita punya banyak window. QApplication berfungsi untuk mengatur pengaturan umum dan memanagement setiap window yang ada di aplikasi kita. Juga berisi main loop aplikasi, dan mengatur event dari window system serta menyediakan session management. [1]
Sedangkan sys.argv, itu adalah parameter dari command line. Sehingga kita bisa mengontrol bagaimana aplikasi kita akan dieksekusi untuk pertama kali.
window = QtGui.QWidget()
Kelas QtGui.QWidget adalah basis dari semua kelas interface object. Ia adalah atom (bagian terkecil) dari komponen user interface. Menerima inputan dari user berupa: mouse event, keyboard event, dan event-event lainnya dari window-system. Serta bisa juga menggambar dirinya sendiri di atas screen [2].
window.resize(800, 600)
Kode di atas berfungsi untuk mengatur ukuran dari window.
window.setWindowTitle('Jago Ngoding')
Kode di atas berfungsi untuk mengatur judul window.
window.show()
Kode di atas berfungsi untuk menampilkan window ke layar. Akan tetapi, sebagaimana di penjelas di atas, window tidak akan bisa tampil kecuali aplikasi QApplication sudah berjalan. Karena QApplication sebagai central kelas yang memanagement semua window yang terdapat dalam aplikasi.
sys.exit(app.exec_())
Kode program di atas akan mengeksekusi fungsi app.exec_()
. Fungsi ini akan memulai main loop aplikasi, dan menerima semua inputan dari user. Sampai akhirnya aplikasi selesai, maka hasil kembalian dari fungsi app.exec_()
dipassing ke fungsi sys.exit()
untuk mengakhiri script python.
Bentuk OOP Program
import sys
from PySide import QtGui
"""
Jago Ngoding tutorial PySide berbahasa Indonesia
author: Ibnu Jakaria
"""
class Jendela(QtGui.QWidget):
def __init__(self):
super(Jendela, self).__init__()
self.siapkanUI()
def siapkanUI(self):
self.resize(800, 600)
self.setWindowTitle('Jago Ngoding')
app = QtGui.QApplication(sys.argv)
jendela = Jendela()
jendela.show()
sys.exit(app.exec_())
Referemsi:
[1] https://srinikom.github.io/pyside-docs/PySide/QtGui/QApplication.html
[2] https://srinikom.github.io/pyside-docs/PySide/QtGui/QWidget.html