کار رو با یک مثال ساده شروع می کنم در این مثال مطالبی مطرح میشه که در بیشتر برنامه ها یی که بعدا می نویسیم استفاده می شه
مثال اول
#include <gtk/gtk.h>
int main(int argc , char *argv[] ) {
GtkWidget *window ;
gtk_init( &argc , &argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_main();
Return 0;
}


خط اول : همه برنامه هایی که از gtk استفاده می کنند شامل این خط می شوند که این سرفایل شامل تعریف متغییر ها توابع و ساختار ها و غیره می شه و باید در برنامه های خود انرا بگنجانیم .
خط چهارم : در این خط ما تابع gtk_init را فراخوانی کردیم که این خط هم در تمام برنامه ها استفاده می شه و برخی چیزها رو برای ما تنظیم می کنه مثل مقدار پایه و رنگ که نتیجه فراخوانی این تابع است و بطور کلی این کتابخانه رو بصورت خودکار برای ما مقداردهی اولیه می کنه.
خط پنجم و ششم : در این خطوط ما یک پنجره برای برنامه خود ایجاد کردیم که درصورتی که ما سایز انرا مشخص نکنیم بصورت پیش فرض 200 در 200 در نظر گرفته می شود زیاد نگران نحوه ایجادش و کدهاش نباشید به زودی همه انها را خواهید اموخت.
خط ششم : می گوید که ما widget خود را تنظیم کردیم و ویژگی های لازم را تنظیم کردیم و حال می خواهیم که انرا برای ما نشان دهد (widget یک شی هست مثلا یک دکمه یا یک تکست باکس)
خط هفتم : تابع gtk_main را فراخوانی می کنیم که ان نیز در تمام برنامه هایی که از gtk استفاده می کنیم باید در کد های ما قرار داشته باشه . وقتی برنامه به این نقطه می رسد gtk به حالت خواب میره و منتظر رویداد x می شه ( مثل کلیک موس یا فشار یک دکمه ) در واقع یک حلقه رو ایجاد می کنه که مدام اجرا میشه تا اینکه یک رویداد اتفاق بیفته و در برابر ان عکس العمل انجام بده .
انچه که از این مثال فهمیدیم
قالب کلی یک برنامه که از gtk استفاده می کند در اکثر موارد به شکل زیر می باشد
#include <gtk/gtk.h>
int main(int argc, char &argv[]){
gtk_init(&argc,&argv);

gtk_main();
return 0;
}

برای کامپایل برنامه در لینوکس می تونید از دستور زیر استفاده کنید
g++ `pkg-config --cflags --libs gtk+-2.0` -o name.cpp nameout
که بجای name.cpp مسیر جایی رو که در انجا برنامه رو ذخیره کردید می دید و nameout هم نامی هست که می خواهید برنامه کامپایل شده داشته باشه.
اگه تو ویندوز کد می نویسید می تونید دستوراتی که تو مقاله ای که تو سایت نوشتم بخونید
مقاله نحوه نصب gtk در ویندوز و پیکربندی ان برای کامپایل برنامه ها با ویژوال سی پلاس پلاس

اگه همه کار ها رو درست انجام داده باشید باید زمانی که برنامه خود را اجرا می کنید مثل شکل پایین باشه