Suka Duka Bermain dengan Signal dan Slot

Bagi mahasiswa yang sedang membangun perangkat lunak dengan bahasa Qt, pasti mereka akan menggunakan perintah berikut.

QObject::connect(signalowner, SIGNAL(signalName()), slotowner, SLOT(slotName()));

Bagi yang pertama kali coba – coba Qt, siap – siap mengalami hal – hal berikut.

– Sudah lega bisa compile, begitu di run ternyata langsung fault.

– Di start ngga bisa

– Item dalam list sekali klik nambah 2 terus nambah 4, terus nambah 8, etc

– Bingung signal mana ngakses slot mana….

Yang pasti, kalau ada error di signal dan slot, aplikasi akan tetap bisa dikompilasi; software error akan jadi software fault, dan begitu diakses, fault akan menyebabkan software failure (langsung kegantung, HANG!)

Begitu sudah menguasai signal dan slot, dijamin sekarang belum ada model yang paling mudah untuk buat aplikasi dengan pola event driven architecture!

Category: Renan
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
2 Responses
  1. dan says:

    Howdy, QT “toolkit” GUI? ngga tertarik dengan licensing-nya… 🙂 Lalu pindah ke wxWidgets–non-platform-specific. Kalau di wx ada 2 cara untuk initialize event: bisa dengan static event table, lalu sertain child berupa macro, identifier, beserta handler. Atau, cara lain melalui dynamic event table functions wxEvtHandler::Connect. Cukup simple, tapi mulai sedikit ribet waktu defining custom event dan macros.

    Boleh share informasi tentang QT lagi nih… 🙂

  2. skripsiatl says:

    Wah, makasih banyak! Saya juga baru tahu, he he he.

    Untungnya untuk banyak penelitian saya, saya ngga harus turun ke low level coding, jadinya ngga pernah pakai perintah tersebut.

    Sebagai best practices (untuk menghindari sakit kepala), saya biasanya tekankan pada mahasiswa, dokumentasi dan konvensi kode.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>