
GI I THI U V GTK+Ớ Ệ Ề
-GTK có tên đ y đ là Gimp Toolkit .ầ ủ
-GTK ban đ u đ c thi t k và đ c s d ng trong ch ng ầ ượ ế ế ượ ử ụ ươ
trình GNU Manipulation Program (GIMP) nh là m t ch ng ư ộ ươ
trình thay th cho b công c Motif.Nh ng v sau Peter ế ộ ụ ư ề
Mattis th y th t v ng v MoTif và b t đ u vi t riêng b công ấ ấ ọ ề ắ ầ ế ộ
c giao di n đ h a c a ông đ c g i là b công c GIMP ụ ệ ồ ọ ủ ượ ọ ộ ụ
và đã thành công thay th Motif.Và trong b n phát hành 0,99 ế ả
c a GIMP GTK đã đ c vi t l i đ h ng đ i t ng h n và ủ ượ ế ạ ể ướ ố ượ ơ
đ c đ i tên thành GTK+.ượ ổ
-GTK+ là m t ph n m m v a miên phí v a đ c quy n,là ộ ầ ề ừ ừ ộ ề
m t ph n n m trong d án ộ ầ ằ ự GNU(GNU's Not Unix). GTK+ bao
g m m t c u trúc h ng đ i t ng d a trên ngôn ng C có ồ ộ ấ ướ ố ượ ự ữ
s linh ho t tuy t v i và có quan h đ i tác v i m t s ngôn ự ạ ệ ờ ệ ố ớ ộ ố
ng l p trình nh C + +, Objective-C, Perl, Python, TOM, ữ ậ ư
Ada95, Free Pascal , Eiffel, vv

H NG D N CÀI Đ TƯỚ Ẫ Ặ
Cài đ t online: ặ
-Ta dùng l nh:ệ
sudo apt-get install libgtk3.0-dev
Đ l p trình giao di n v i toolkit GTK thì ta c n thêm:ể ậ ệ ớ ầ
sudo apt-get install gnome-core-devel
Cái này s cài libgtk2.0-dev, libglib2.0-dev..., nh ng th vi n c n ẽ ữ ư ệ ầ
thi t cho l p trình GTK.ế ậ
sudo apt-get install pkg-config
pkg-config đ c dùng đ biên d ch các GTK procedures và t ượ ể ị ự
đ ng xác đ nh v trí c a các th vi n và head file.ộ ị ị ủ ư ệ
sudo apt-get install devhelp
Cái này s cài tài li u h ng d n GTK devhelp . R t h u ích.ẽ ệ ướ ẫ ấ ữ
sudo apt-get install libglib2.0-doc libgtk2.0-doc
Cái này s cài API reference manuals và các tài li u tr giúp cho ẽ ệ ợ
gtk / glib. sudo apt-get install glade libglade2-dev
sudo apt-get install glade
Cái này s cài đ t công c thi t k giao di n d a vào GTK (tên ẽ ặ ụ ế ế ệ ự
ch ng trình là Glade). ươ

H ng d n vi t và ch y m t vài ch ng trình ướ ẫ ế ạ ộ ươ
đ n gi nơ ả
•Ch ng trình s 1:ươ ố
•Chúng ta s vi t m t m t đo n mã đ ch ng trình hi n lên m t c a s ẽ ế ộ ộ ạ ể ươ ệ ộ ử ổ
window tên la ThanhHung:
#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;
}

Cách biên dich
•Chúng ta dùng lenh cd /d n t i th m c ch a file chúng ta v a t oẫ ớ ư ụ ứ ừ ạ
•Sau đó dùng câu l nh:ệ
–gcc thanhhung.c -o ThanhHung `pkg-config gtk+-2.0 --cflags
--libs` -I/usr/include/libglade-2.0/ -lglade-2.0
–thanhhung:là tên file chúng ta t o ra.ạ
–ThanhHung:là tên chúng ta mu n hi n ra thanh trên cùng c a ố ệ ở ủ
window.

•Ch ng trinh s 2 k th a trên ch ng trình s 1:Ta thêm 2 button ươ ố ế ừ ươ ố
và 1 Label,2 button là nút + và -,label và k t qu s hi n ra trên ế ả ẽ ệ
Label.
#include <gtk/gtk.h>
gint count = 0;
char buf[5];
void increase(GtkWidget *widget, gpointer label){
count++;
sprintf(buf, "%d", count);
gtk_label_set_text(label, buf);}
void decrease(GtkWidget *widget, gpointer label){
count--;
sprintf(buf, "%d", count);
gtk_label_set_text(label, buf);}