DATA ENTRY MUSDALIFAH DJ
Setelah menegenal sekilas tentng Glade, kini kita akan bersama-sama mengenal widget yang digunakan untuk memasukkan input berupa numerik atau data lain. Gtk Entry merupakan Widget yang digunakan untuk memasukkan input berupa baris tunggal
Next... Antarmuka dapat dibuat dengan langkah-langkah sebagai berikut : Manjalankan Glade. Dari start menu, pilihlah Programming dan jalankan Glade Pada menu window Pilh New Pilih opsi New GTK+Project Pada jendela Pallete,klik window widget
Next... Pada jendela propertis : Pada menu Widgets Title diisi latihan 3 Default width diisi 152 Default Height diisi 96 Pada menu Signals Pilih Signal Delete Tekan OK Tekan Add
Next... Window latihan 4 dibagi 2 Pada jendela Pallete klik Vertikal Box Klik window latihan 4 muncul : number of rows : 2 Pada jendela Pallete, klik Text Entry. Letakkan pada Windows latihan 3 bagian atas
Next... Pada Pallete Window, klik horizontal Button Box Letakkan pada window latihan 3 bagian bawah. Muncul Number Of Columns : 2 Klik Button1 Pada propertis Windows Pada menu Widget Name button_ok, stock Button, tekan tanda panah ke bawah dan pilih OK Pada menu Signals, pilih clicked, tekan tombol OK kemudian Add
Klik Button2 Pada propertis Window : Pada menu Widget Name : button_quit, stock button tekan tanda panah ke bawahdan pilih QUIT Pada menu signals, pilih clicked dn tekan tombol OK kemudian Add
Next... Pada menu Window : Klik tombol Build Muncul project Option Klik Ok Buka terminal Keluar dari subdirectori Ketikkan ./autogen.sh Konfilasi project tersebut dengan perintah Make Masuk dari subdirectori src
Pertanyaan berikutnya adalah bagaimana memasukkan lebih dari satu Widget ke dalam container? Apakah bisa dilakukan dengan memanggil method “add()” beberapa kali? Menurut dokumentasi mengenai Container, ada dua jenis container, yaitu container yang hanya dapat menampung 1 buah Widget dan container yang dapat menampung lebih dari 1 Widget.
Jika melihat hirarki kelas, container yang diturunkan dari kelas “gtk Jika melihat hirarki kelas, container yang diturunkan dari kelas “gtk.Bin” hanya dapat menampung satu buah widget. Contoh container jenis ini adalah “gtk.Window” dan “gtk.Frame”. Container jenis lainnya adalah container yang dapat digunakan untuk menampung lebih dari satu widget yang biasa digunakan untuk mengatur susunan Widget. Contoh container jenis ini adalah “gtk.VBox”, “gtk.HBox”, dan “gtk.Table”
Daripada cuma ngeliatin tulisan abstrak, mari kita lihat kode berikut ini. Simpan juga dalam berkas dan beri nama (misalnya) 03b.py. import gtk def keluar(pemanggil): gtk.main_quit() def cetak(pemanggil): nama = teks.get_text() print "Nama: " + nama label = gtk.Label("Nama") teks = gtk.Entry() btn = gtk.Button("OK") btn.connect("clicked", cetak) box = gtk.HBox() box.pack_start(label, expand=False, padding=5) box.pack_start(teks) box.pack_start(btn, expand=False) win = gtk.Window() win.connect("destroy", keluar) win.add(box) win.show_all() gtk.main()
Dalam contoh di atas, kita membuat tiga buah widget yang masing-masing berasal dari kelas “gtk.Label”, “gtk.Entry”, dan “gtk.Button”. Selain itu kita membuat sebuah container dari kelas “gtk.HBox” yang digunakan untuk mengatur posisi Widget secara horizontal. Hasil eksekusi dapat dilihat pada gambar berikut.
Method “pack_start()” digunakan untuk memasukkan Widget ke dalam container. Ada dua parameter (dari tiga parameter) tambahan yang dimasukkan dalam contoh di atas, yaitu “expand” dan “padding”.
Parameter “expand” digunakan untuk mengatur apakah ukuran Widget akan ikut mengembang jika ukuran container diubah. Sedangkan parameter “padding” digunakan untuk mengatur jarak Widget dengan tepian kotak.
Method “pack_start()” digunakan untuk memasukkan Widget ke dalam container. Ada dua parameter (dari tiga parameter) tambahan yang dimasukkan dalam contoh di atas, yaitu “expand” dan “padding”.
Parameter “expand” digunakan untuk mengatur apakah ukuran Widget akan ikut mengembang jika ukuran container diubah. Sedangkan parameter “padding” digunakan untuk mengatur jarak Widget dengan tepian kotak.
Ada satu method baru yang diperlihatkan pada contoh kode di atas, yaitu “show_all()”. Method ini digunakan untuk memanggil method “show()” dari seluruh Widget yang berada di dalam sebuah
Widget yang berupa Container sehingga kita tidak perlu memanggil method “show()” satu-persatu untuk menampilkan Widget. Dalam contoh di atas, seluruh Widget yang berada di dalam window akan ditampilkan.
SEKIAN...