Telah kita bahas di awal tutorial bahwa, dengan Qt kita bisa memilih beberapa Base Class saat membuat project Qt, diantaranya adalah QMainWindow, QWidget, dan QDialog. Di antara ketiga tersebut yang paling unik adalah QMainWindow, karena Base Class ini secara otomatik membuatkan beberapa bar tambahan otomatis untuk kita yaitu MenuBar, ToolBar, dan StatusBar.
Pada tutorial kali ini, kita akan mencoba mengotak – atik MenuBar untuk membuat sebuah window Dialog baru.
Intinya, kita akan membuat sebuah Sub Menu pada Menubar, kemudian kita membuat sebuah event (ingat signal and slot pada tutorial sebelumnya) terhadap submenu yang bila di click maka akan membuat window baru.
Hal seperti ini dinamakan event triggered :)
Mari kita langsung membuat sebuah project Qt Widget Application dengan Base Class nya adalah QMainWindow. Di sini sebagai contoh kita akan membuat sebuah project “MetuProject” dan “Percobaan1” sebagai class nya,
Lihat gambar 1:
Lihat gambar 2:
Hem, kayaknya kita tidak perlu mengupas code – code default dari QT Framework ini, untuk yang mungkin belum paham kode – kode ini silahkan browsing di Google yach, :)
Mari langsung kita menuju ke QT Ui yaitu “percobaan1.ui”, silahkan anda double click untuk membuka file tersebut pada Qt Designer.
Lihat gambar 3:
Anda bisa lihat pada screenshot di atas, secara default QMainWindow Class akan memberikan sebuah Menubar dan Toolbar untuk kita, nah, yang akan kita otak atik di sini adalah MenuBar nya. Mari kita tambahkan sebuah sub menu “New Window”. Membuatnya pun sangat mudah sekali, silahkan double click, isikan menu, tekan enter, isikan submenu, mudah bukan?
Lihat gambar 4:
Coba perhatikan, saat kita membuat sebuah sub menu (ext: New Window) maka window action editor yang terletak di sebelah bawah dari window akan membuat sebuah action secara otomatis.
Lihat gambar 5:
Anda bisa lihat, secara otomatis kita membuat “actionNew_Window”. Dari nama action inilah nanti kita bisa menambahkan signals and slots.
Nah, mari kita berikan signals and slots, untuk menambahkannya, silahkan click kanan pada action yang sudah kita buat kemudian pilih “go to slots..”.
Lihat gambar 6:
Kemudian, pada signals window, kita perlu menambahkan triggered events, ,,
Lihat gambar 7:
Signals Triggered ini digunakan seperti onclick pada button. Nah, setelah kita memberikan signals and slots ini, Qt Creator secara otomatis membuat sebuah slots yang diletakkan pada file C++ kita.
Lihat gambar 8:
Nah, sekarang coba run code anda, click sub menu “New Window” yang anda buat, yup apa yang terjadi? Tentu tidak terjadi apa apa karena function kita di atas masih kosong tidak ada declarasi sama sekali :)
Skenario kita di awal adalah kita akan menampilkan sebuah Window baru saat sub menu ini diclick.
Maka dari itu, kita akan membuat sebuah Qt Widget Baru, yuk kita mulai…
Untuk menambahkan Qt Widget baru, anda bisa click kanan project – kemudian pilih Add New Item..
Lihat gambar 9:
Kemudian dari window yang mucul, pilihlah Qt , kemudian Pilih Qt Designer Form Class.
Dengan ini nanti kita akan membuat sebuah .ui baru dengan beberapa class. Di sini saya membuat class dengan nama OkieDialog.
Bila sudah selesai nanti hasilnya adalah seperti ini:
Lihat gambar 10:
Anda bila mengamati dan melihat kode – kode dari file – file yang berhasil kita tambakan ini.
Lalu bagaimana memanggil okiedialog ini supaya muncul saat kita mengeclick submenu tadi?
Mudah,
Coba lihat function yang kita buat tadi:
Lihat gambar 11:
Dengan menambahkan header, dan membuat object baru dari OkieDialog, kita sudah bisa memanggil / membuat sebuah window okiedialog.
Mudah bukan???
Sebetulnya cara ini bukan satu – satunya untuk memanggil / membuat window okiedialog, masih banyak sekali kode – kode yang bisa anda coba, cobalah browsing :)
Semoga bermanfaat,
Salam,