0% menganggap dokumen ini bermanfaat (0 suara)
54 tayangan18 halaman

Panduan Dasar Pemrograman PyQt

Dokumen tersebut memberikan penjelasan singkat tentang PyQt yang merupakan Python binding untuk GUI toolkit Qt. Dokumen tersebut menjelaskan modul dasar PyQt, contoh aplikasi PyQt sederhana, penggunaan widget umum seperti QLabel, QLineEdit, QPushButton, dan QTableWidget beserta metode yang dapat digunakan.

Diunggah oleh

16211007
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
54 tayangan18 halaman

Panduan Dasar Pemrograman PyQt

Dokumen tersebut memberikan penjelasan singkat tentang PyQt yang merupakan Python binding untuk GUI toolkit Qt. Dokumen tersebut menjelaskan modul dasar PyQt, contoh aplikasi PyQt sederhana, penggunaan widget umum seperti QLabel, QLineEdit, QPushButton, dan QTableWidget beserta metode yang dapat digunakan.

Diunggah oleh

16211007
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

Algoritme Pemrograman

#11 – PyQt

Department of Informatics, Institut Teknologi Kalimantan


Apa yang akan kalian pelajari?

 Menggunakan Widget yang Umum Digunakan


 Menerapkan fungsi pada sinyal-sinyal kejadian pada
masing-masing Widget

Department of Informatics, Institut Teknologi Kalimantan


Apa itu PyQt?

 PyQt merupakan Python binding yang merupakan


seperangkat Pustaka C++ dan alat Pengembangan
yang mencakup abstraksi platform-independen
untuk GUI
 PyQt juga memiliki fitur seperti SVG, OpenGL, XML,
dan lain-lain.

pip3 install pyqt5

Department of Informatics, Institut Teknologi Kalimantan


Modul Dasar pada PyQt

Qt Core Menyediakan dasar fungsionalitas non-GUI, seperti sinyal dan slot, property, base
classes dari model item, serialisasi, dan lain sebagainya.
Qt GUI Memperluas QtCore dengan fungsionalitas GUI: Event, jendela, dan layer, openGL
dan raster-based 2D painting, dan juga gambar
Qt Widgets Menyediakan widget yang siap untuk digunakan diaplikasi, meliputi elemen grafis
untuk antarmuka yang akan dibuat

Department of Informatics, Institut Teknologi Kalimantan


Aplikasi Pertama PyQt

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow

app = QApplication([])

mainWindow = QMainWindow()
mainWindow.setWindowTitle("Hello World!!")
mainWindow.setGeometry(200,200, 700, 500)

mainWindow.show()
sys.exit(app.exec_())

Department of Informatics, Institut Teknologi Kalimantan


Qlabel: Method umum

Method Keterangan

setText(teks) Memuat teks pada label, dapat menggunakan sintaksis


HTML standar
clear() Menghapus teks pada label

resize(width, height) Merubah ukuran widget label

adjustSize() Menyesuaikan ukuran otomatis dengan isi label

setWordWrap(True) Word warp teks

move(x, y) Memindahkan posisi label pada widget/window

setPicture() Memuat gambar pada label, silakan pelajar


dokumentasinya lebih lanjut

Department of Informatics, Institut Teknologi Kalimantan


QLineEdit


def teksleditEnter():
teks = teksledit.text()
teksLbl.setText(teks)
teksLbl.adjustSize()

teksLbl = QLabel("Teks Kosong", parent=mainWindow)


teksledit = QLineEdit("", parent=mainWindow)
teksledit.resize(500,50)
teksledit.move(0, 50)

teksledit.returnPressed.connect(teksleditEnter)

Department of Informatics, Institut Teknologi Kalimantan


QLineEdit: Method umum
Method Keterangan

setText(teks) Memuat teks pada line edit

clear() Menghapus teks pada line edit

resize(width, height) Merubah ukuran widget line edit

adjustSize() Menyesuaikan ukuran otomatis dengan isi line edit

setReadOnly(True) Membuat mode line edit menjadi hanya dapa dibaca,


tidak dapat disunting
move(x, y) Memindahkan posisi line edit pada widget/window

returnPressed.connect() Menerima fungsi yang akan dieksekusi Ketika


kejadian enter ditekan oleh pengguna di line edit
setClearButtonEnabled(True) Menambahkan tombol clear di line edit

Department of Informatics, Institut Teknologi Kalimantan


QPushButton

submitBtn = QPushButton("Submit", parent=mainWindow)
submitBtn.move(510, 50)
submitBtn.setFixedSize(150,50)
fontSaya = QFont()
fontSaya.setBold(True)
fontSaya.setPointSize(14)
submitBtn.setFont(fontSaya)

submitBtn.clicked.connect(teksleditEnter)

Department of Informatics, Institut Teknologi Kalimantan


QPushButton: Method umum
Method Keterangan

setText(teks) Memuat teks pada push button

setFont(Qfont) Mengubah gaya font di push button

resize(width, height) Merubah ukuran widget push button

adjustSize() Menyesuaikan ukuran otomatis dengan isi push button

setMenu(QMenu) Menambahkan menu pada push button

move(x, y) Memindahkan posisi push button pada widget/window

clicked.connect() Menerima fungsi yang akan dieksekusi Ketika


kejadian click ditekan oleh pengguna di push button
setToolTip(“teks isi tooltip”) Memunculkan informasi keitka mouse berada diatas
push button tersebut

Department of Informatics, Institut Teknologi Kalimantan


QFont


fontSaya = QFont()
fontSaya.setBold(True)
fontSaya.setPointSize(14)
fontSaya.setItalic(True)
fontSaya.setFamily("Consolas")
submitBtn.setFont(fontSaya)

Department of Informatics, Institut Teknologi Kalimantan


QMenu


menu = QMenu()
menu.addAction("Aksi 1", teksleditEnter)
menu.addAction("Aksi 2", teksleditEnter)
menu.addAction("Aksi 3", teksleditEnter)
submitBtn.setMenu(menu)

Department of Informatics, Institut Teknologi Kalimantan


QCheckBox
def updateLbl():
teks = ""
if(pil1CB.isChecked()):
teks += "Pilihan 1 "
if (pil2CB.isChecked()):
teks += "Pilihan 2 "
if (pil3CB.isChecked()):
teks += "Pilihan 3 "
teksLbl.setText(teks)
teksLbl.adjustSize()
#Checkbox
pil1CB = QCheckBox("Pilihan 1", parent=mainWindow)
pil2CB = QCheckBox("Pilihan 2", parent=mainWindow)
pil3CB = QCheckBox("Pilihan 3", parent=mainWindow)
pil1CB.move(10, 110)
pil2CB.move(10, 140)
pil3CB.move(10, 170)
pil1CB.stateChanged.connect(updateLbla)
pil2CB.stateChanged.connect(updateLbl)
pil3CB.stateChanged.connect(updateLbl)

Department of Informatics, Institut Teknologi Kalimantan


QCheckBox: Method umum
Method Keterangan

setText(teks) Memuat teks pada check box

setFont(Qfont) Mengubah gaya font di check box

resize(width, height) Merubah ukuran widget check box

adjustSize() Menyesuaikan ukuran otomatis dengan isi check box

isChekced() Mengecek apakah ter check atau tidak (Boolean)

move(x, y) Memindahkan posisi check box pada widget/window

stateChanged.connect() Menerima fungsi yang akan dieksekusi Ketika


kejadian perubahan pada checkbox terjadi
setToolTip(“teks isi tooltip”) Memunculkan informasi keitka mouse berada diatas
check box tersebut

Department of Informatics, Institut Teknologi Kalimantan


QRadioButton
def updateLblByRadioBtn():
teks = ""
if(pil1RB.isChecked()):
teks = pil1RB.text()
elif(pil2RB.isChecked()):
teks = pil2RB.text()
elif(pil3RB.isChecked()):
teks = pil3RB.text()
teksLbl.setText(teks)
teksLbl.adjustSize()

pil1RB = QRadioButton("A", parent=mainWindow)


pil2RB = QRadioButton("B", parent=mainWindow)
pil3RB = QRadioButton("C", parent=mainWindow)
pil1RB.move(150, 110)
pil2RB.move(150, 140)
pil3RB.move(150, 170)
pil2RB.setChecked(True)
pil1RB.toggled.connect(updateLblByRadioBtn)
pil2RB.toggled.connect(updateLblByRadioBtn)
pil3RB.toggled.connect(updateLblByRadioBtn)
Department of Informatics, Institut Teknologi Kalimantan
QTableWidget
table = QTableWidget(mainWindow)
table.setRowCount(10)
table.setColumnCount(5)
table.setFixedSize(700, 700)
table.setHorizontalHeaderLabels(["No.", "NIM", "Nama", "Alamat", "No. Telp"])
table.setItem(0,0, QTableWidgetItem("1"))
table.setItem(0,1, QTableWidgetItem("101010101"))
table.setItem(0,2, QTableWidgetItem("Andi Fulan"))
table.setItem(0,3, QTableWidgetItem("Jln. Sungai Wein"))
table.setItem(0,4, QTableWidgetItem("087867556464"))

Department of Informatics, Institut Teknologi Kalimantan


QTableWidget

Department of Informatics, Institut Teknologi Kalimantan


QTableWidget
table.cellClicked.connect(printItem)

def printItem(row, column):


print(row, column)
if(table.item(row, column) != None):
print(table.item(row, column).text())

Department of Informatics, Institut Teknologi Kalimantan

Anda mungkin juga menyukai