diff options
author | Adam <adam@adambard.com> | 2016-10-21 15:35:09 -0700 |
---|---|---|
committer | Adam <adam@adambard.com> | 2016-10-21 15:35:09 -0700 |
commit | 620e5d20402be961d27ce6cc6a007204c81391d4 (patch) | |
tree | e33427b1aa82c11a8e974ccd8a02b789de4c9737 /id-id/pyqt-id.html.markdown | |
parent | de376b4357e79fc847e4c1ae2717946fe05d3bef (diff) | |
parent | 0659107a78bddd722df816daa01ee622fb4508d1 (diff) |
Merge branch 'master' of github.com:adambard/learnxinyminutes-docs
Diffstat (limited to 'id-id/pyqt-id.html.markdown')
-rw-r--r-- | id-id/pyqt-id.html.markdown | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/id-id/pyqt-id.html.markdown b/id-id/pyqt-id.html.markdown new file mode 100644 index 00000000..c4833d06 --- /dev/null +++ b/id-id/pyqt-id.html.markdown @@ -0,0 +1,83 @@ +--- +category: tool +tool: PyQt +language: Python +filename: learnqt-id.py +contributors: + - ["Nathan Hughes", "https://github.com/sirsharpest"] +translators: + - ["Rizky Luthfianto", "http://github.com/rilut"] +lang: id-id +--- + +**Qt** adalah framework terkenal untuk pengembangan perangkat lunak *cross-platform* yang dapat dijalankan pada berbagai platform perangkat lunak dan perangkat keras dengan sedikit atau tanpa perubahan dalam kode, dengan tetap memiliki kekuatan dan kecepatan aplikasi *native*. **Qt** ditulis dalam bahasa C++. + + +Tulisan ini diadaptasi dari **Intro Qt untuk C++** oleh [Aleksey Kholovchuk](https://github.com/vortexxx192). Kode-kode yang tertulis di sini akan menghasilkan fungsionalitas yang sama. Bedanya, versi ini dibangun menggunakan **PyQt**! + +```Python +import sys +from PyQt4 import QtGui + +def window(): +# Buat objek aplikasi + app = QtGui.QApplication(sys.argv) +# Buat sebuah widget, sebagai tempat di mana label kita akan ditempatkan + w = QtGui.QWidget() +# Tambahkan label untuk widget + b = QtGui.QLabel(w) +# Set teks untuk label + b.setText("Halo, Dunia!") +# Set parameter penempatan dan ukuran + w.setGeometry(100, 100, 200, 50) + b.move(50, 20) +# Set judul pada jendela + w.setWindowTitle("PyQt") +# Tampilkan segalanya + w.show() +# Jalankan apa yang telah kita atur. Setelah semua selesai kita atur. + sys.exit(app.exec_()) + +if __name__ == '__main__': + window() +``` + +Untuk menunjukkan beberapa fitur yang lebih canggih di **PyQt**, kita akan membangun elemen tambahan. +Di sini, kita akan membuat Kotak Popup Dialog, yang berguna untuk meminta pengguna untuk mengkonfirmasi keputusan atau untuk menampilkan informasi. + +```Python +import sys +from PyQt4.QtGui import * +from PyQt4.QtCore import * + + +def window(): + app = QApplication(sys.argv) + w = QWidget() + # Buat tombol b dan tempelkan pada widget w + b = QPushButton(w) + b.setText("Tekan aku!") + b.move(50, 50) + # Perintahkan tombol b untuk memanggil fungsi ini ketika diklik + # Perhatikan bahwa kita tidak menggunakan simbol "()" pada pemanggilan fungsi kali ini + b.clicked.connect(ShowDialog) + w.setWindowTitle("Dialog PyQt") + w.show() + sys.exit(app.exec_()) + +# Fungsi ini akan membuat jendela dialog dengan tombol +# yang menunggu untuk diklik untuk keluar dari program +def ShowDialog(): + d = QDialog() + b1 = QPushButton("ok", d) + b1.move(50, 50) + d.setWindowTitle("Dialog") + # Modalitas ini memberitahu popup untuk memblokir induk saat ini aktif + d.setWindowModality(Qt.ApplicationModal) + # Pada klik, kita ingin seluruh proses untuk berhenti + b1.clicked.connect(sys.exit) + d.exec_() + +if __name__ == '__main__': + window() +``` |