Langsung ke konten utama

Berkenalan dengan PyQt4: Widget dan Signal-Slot

Widget

Nah, sekarang kita belajar untuk menambahkan komponen tambahan ke dalam jendela utama aplikasi kita. Komponen ini dalam Qt dikenal sebagai widgets. Sebagai contoh saya akan menambahkan satu buah widget ke dalam jendela utama.

Oh ya, sebelumnya saya belum bilang ya, aplikasi apa yang mau dibuat? Saya ingin membuat aplikasi sederhana untuk menampilkan halaman twitter saya. Alasannya sih: untuk belajar PyQt, juga karena saya malas install twitter client yang umumnya berbasis Adebe AIR. Canggih sih Adobe AIR cuma instalasinya gede. Selain itu karena di komputer saya memang sudah ada python dan PyQt4.

Saya akan menambahkan satu buah widget: QWebView yaitu widget untuk menampilkan halaman web, sebuah widget dasar untuk membuat browser web.

Kodenya:


Catatan: saya membuat fungsi tersediri untuk membuat menu, sehingga kode intinya nggak terlalu 'ramai'. Kode untuk menambahkan widgetnya sih sebetulnya cuma:



Nah, hasilnya seperti ini:

Hehehe, lumayan.... punya Twitter Browser sendiri...

Catatan:
Agar aplikasi di atas dapat berjalan baik, maka di komputer kita perlu terinstall pula OpenSSL

Signal - Slot

Nah, sekarang mau bicara sedikit mengenai signal-slot. Kalau diperhatikan dalam kode yang saya tulis ada:
self.connect(...)

Bagian kode itu itu fungsinya menghubungkan antara signal dengan slot.

Signal dan slot. Apa itu? Intinya, setiap widget/komponen memancarkan semacam sinyal apalagi pengguna melakukan tindakan atas komponen itu. Misalnya widget button/tombol tindakan yang pengguna lakukan adalah meng-klik tombol tersebut. Saat pengguna meng-klik tombol, maka widget button akan memancarkan sinyal "clicked()" ke sistem. Sinyal tersebut lalu akan 'ditangkap' oleh sistem dan dimasukkan ke dalam sebuah slot. Slot secara sederhana adalah tindakan sesuai sinyal yang bersangkutan. Analoginya seperti sistem anak kunci dan kunci deh, gan. Sinyal sebagai anak kuncinya, sedangkan slot sebagai kuncinya.

Contoh, misalnya kita membuat sebuah tombol 'Keluar' dalam jendela dialog dan kemudian menghubungkan tombol itu dengan fungsi keluar():



Sedangkan fungsi keluar() nya:

Komentar

Posting Komentar

Postingan populer dari blog ini

Dasar-Dasar Python (2)

Sebagian besar baris program yang kita tuliskan akan berupa sebuah expression . Contoh sederhana dari expression misalnya 2 + 3. Sebuah expression terdiri dari operand dan operator . Operand : 2 dan 3 Operator : + Operator adalah penanda bahwa program yang kita buat sedang melakukan sesuatu, dalam contoh di atas program kita sedang menjumlahkan angka 2 dan 3. Operasi Bilangan Seperti telah disinggung sebelumnya Python mengenal bilangan tipe Integer, Long Integer, Floating Point dan Complex Number. Dan seperti bahasa pemrograman lain pada umumnya, kita dapat memanipulasi bilangan dengan operator operasi bilangan. Operasi bilangan yang umum digunakan: penjumlahan, pengurangan, perkalian, pembagian. # operasi integer a = 3 + 4 # a bernilai 7 b = 4 - 3 # b bernilai 1 c = 3 * 4 # c bernilai 12 d = 4 / 3 # pembagian integer, d bernilai 1 e = 4 % 3 # sisa pembagian integer, e bernilai 1 print a, b, c, d, e # cetak hasil # operasi long integer f = 10000000000L + 25...

Instalasi Python 3, Pygame, dan IPython di Windows 7

Termotivasi oleh video Jessica McKellar ini , tahun ini saya membangun kembali ketertarikan saya akan pemrograman Python. Saya sudah cukup lama mengenai Python, bahkan dulu sempat mengandalkan Python untuk menghasilkan aplikasi keuangan dan gudang. Sayangnya, sejak saya menjadi "pegawai", saya tidak punya banyak kesempatan untuk menggunakan Python. Namun, Python tetap menjadi hobi. Mulai dari mana? Saya memutuskan untuk mulai dengan mempelajari kembali Python, khususnya yang berhubungan dengan membuat game dengan Pygame dan Python 3. Python 3.  Blog ini merupakan catatan saya saat menginstalasi Python 3 di laptop. Laptop saya bersistemoperasikan Windows 7. Python 2.7 sudah terinstall dalam laptop dan menjadi "default" aplikasi untuk membuka script Python. Dengan kata lain, saya ingin ada 2 versi Python di laptop ini.  Mula-mula, saya menentukan Python 3 versi berapa yang akan saya install. Pilihan saya jatuh pada Python 3.2. Alasannya semata-mata karena P...

Menghitung Pi

Wah, lama tidak menggunakan Python, otak terasa buntu. Soal yang perlu dipecahkan sederhana: hitunglah Pi menggunakan Wallis Formula : setelah 1 jam mencoba, maka saya menemukan potongan kode yang saya rasa betul: In [50]: pi = 2 * reduce(lambda x,y: x*y, [(4.0*i**2)/(4.0*i**2-1) for i in xrange(1,1000)]) In [51]: pi Out[51]: 3.1408069608284657 Wah, ternyata lebih ribet dari yang saya kira pada awalnya. Namun cool ... kita dapat menghitung Pi hanya dengan satu baris kode yang melibatkan fungsi built-in reduce , lambda , serta list comprehension . Yang baru saya pelajari dan gunakan adalah fungsi reduce . Potongan penjelasan mengenai fungsi reduce dari help Python: reduce ( function ,  iterable [ ,  initializer ] ) Apply   function   of two arguments cumulatively to the items of   iterable , from left to right, so as to reduce the iterable to a single value. For example, reduce(lambda   x,   y:   x+y,   [1,   2,   ...