Membuat Form Sederhana Dengan C dan GTK+
Kemarin kita telah membahas tentang perkenalan dengan GTK+
ini. Untuk memahami lebih jauh mengenai GTK+
ada kiranya kita langsung saja praktek menerapkan GTK+
ke dalam sumber kode di mulai dari yang paling sederhana yakni membuat form
terlebih dahulu, berikut beserta penjelasannya.
Sebelum memulai pastikan perlengakapannya sudah Anda dipersiapkan, mulai dari pemasangan GTK+
itu sendiri, sampai IDE atau Text Editor yang Anda pergunakan. Untuk IDE saya sarankan gunakan Gnome Builder
. Sedangkan Text Editor saya sarankan gunakan Geany
.
Praktek Membuat Form
Langsung saja praktek, pertama-tama Anda buat berkas dengan nama misalnya form.c
, lalu copy-paste kan kode di bawah ini:
#include <gtk/gtk.h> static void activate (GtkApplication* app, gpointer user_data) { GtkWidget *window; window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), "Window"); gtk_window_set_default_size (GTK_WINDOW (window), 200, 200); gtk_widget_show_all (window); } int main (int argc, char **argv) { GtkApplication *app; int status; app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); status = g_application_run (G_APPLICATION (app), argc, argv); g_object_unref (app); return status; }
Compile
setelah itu simpan dan buka terminal
lalu compile kode di atas dengan perintah berikut:
gcc `pkg-config --cflags gtk+-3.0` -o form_sederhana form.c `pkg-config --libs gtk+-3.0`
Perhatian! Awas, jangan sampai salah! Perintah di atas menggunakan backtick bukan petik satu.
Screenshot
Berikut ini hasilnya ketika kode sumber telah dikompilasi dengan gcc
:
Penjelasan Kode
Pada baris awal, jika kita ingin menggunakan GTK+
maka wajib diawali dengan #include <gtk/gtk.h>
. Kemudian untuk memanggil class application diperlukan sebuah variabel yang mengambil nilai dari GtkApplication
. Contoh di atas saya menggunakan variable app
yakni GtkApplication *app;
Kemudian untuk kode app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
sintak dari gtk_application_new adalah sebagai berikut:
gtk_application_new (const gchar *application_id, GApplicationFlags flags);
gchar
sebenaranya char
standar dari bahasa C
, GApplicationFlags
memiliki banyak nilai Anda bisa lihat sendiri semua nilainya di sini. Pada contoh di atas saya menulis nilai dari application_id
dengan org.gtk.example
. Sebernarnya ini bebas mau diisi dengan apapun asalkan penulisanya mengikuti format DNS, dengan tanda titik di antara kata, contohnya seperti aplikasi.saya
. Meskipun dapat ditulis dengan sembarang, akan tetapi para pengembang Gnome menyarankan guna untuk menjadikan aplikasi yang baik ialah seperti berikut. (baca: https://developer.gnome.org/ChooseApplicationID/)
Lalu kode g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
. g_signal_connect bermaksud memberikan sinyal kepada aplikasi, ketika activate
maka akan memanggil function activate
kita bisa lihat dikode atasnya yakni pada ini:
static void activate (GtkApplication* app, gpointer user_data) { ... ... }
Kemudian kode status = g_application_run (G_APPLICATION (app), argc, argv);
atau g_application_run yakni untuk menjalankan aplikasi gtk tersebut, diambil dari hasil variabel class app
.
Langsung kebagian atas yakni isi dari function activate
yakni:
GtkWidget *window; window = gtk_application_window_new (app);
Kode tersebut berfungsi untuk membuat window
atau yang kita kenal sebagai form
. Kemudian kode gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
mengidentifikasikan bahwa secara asali (default) window dibuat berkuran 200 width dan 200 hight pixel. Lalu yang terakhir kode gtk_widget_show_all (window);
yakni untuk menampilakn seluruh widget yang berada dalam
form tersebut.
Oke sekian dulu tulisan kali ini, nanti kita akan lanjutkan kembali mengenai pembahasan pemrograman C
dengan GTK+
ini. Semoga bermanfaat. 😁