intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giới thiệu về GTK+

Chia sẻ: Hoi Lam Chi | Ngày: | Loại File: PPT | Số trang:12

424
lượt xem
54
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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...

Chủ đề:
Lưu

Nội dung Text: Giới thiệu về GTK+

  1. 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
  2. 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).
  3. 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 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; }
  4. 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.
  5. • 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 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);}
  6. • int main(int argc, char** argv) { GtkWidget *label; GtkWidget *window; GtkWidget *frame; GtkWidget *plus; GtkWidget *minus; /* khởi tạo GTK */ gtk_init(&argc, &argv); /* Tạo cửa sổ hiển thị */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window), 250, 180); gtk_window_set_title(GTK_WINDOW(window), "+-"); frame = gtk_fixed_new(); gtk_container_add(GTK_CONTAINER(window), frame); plus = gtk_button_new_with_label("+"); gtk_widget_set_size_request(plus, 80, 35); gtk_fixed_put(GTK_FIXED(frame), plus, 50, 20);}
  7. minus = gtk_button_new_with_label("-"); gtk_widget_set_size_request(minus, 80, 35); gtk_fixed_put(GTK_FIXED(frame), minus, 50, 80); /* khai báo lable lúc đầu = 0 */ label = gtk_label_new("0"); gtk_fixed_put(GTK_FIXED(frame), label, 190, 58); gtk_widget_show_all(window); g_signal_connect(window, "destroy", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect(plus, "clicked", G_CALLBACK(increase), label); g_signal_connect(minus, "clicked", G_CALLBACK(decrease), label); gtk_main(); return 0;}
  8. • Glade Glade gồm nhiều nhóm công cụ xây dựng giao diện như textbox, nhãn thoại, mục nhập dạng số, hộp chọn và thực đơn. Bản thiết kế giao diện được lưu dưới định dạng XML (có thể mở được trên các công cụ khác). Cài đặt Glade cũng rất đơn giản: 1.sudo apt-get install glade-2 2.sudo apt-get install autoconf automake libglib2.0-dev libc6-dev libgtk2.0-dev
  9. #include #include int main (int argc, char *argv[]) { GladeXML *ui; gtk_init(&argc, &argv); ui = glade_xml_new ("glade_hello.glade", "main_window", NULL); glade_xml_signal_autoconnect(ui); gtk_main(); return 0; }
  10. The end • Cám ơn các bạn và quí thầy cô đã quan tâm theo dõi Tài liệu tham khảo: www.glade.gnome.org www.gtk.org http:// wingtk.sourceforge.net/ishan/starting.html
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2