1. Trang chủ
  2. » Công Nghệ Thông Tin

Giới thiệu về GTK+ ppsx

12 416 9

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 186,5 KB

Nội dung

-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ọn

Trang 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

Trang 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)

Trang 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 <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;

}

Trang 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

Trang 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 <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);}

Trang 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);}

Trang 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;}

Trang 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

Trang 10

#include <gtk/gtk.h>

#include <glade/glade.h>

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;

}

Trang 12

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

Ngày đăng: 13/07/2014, 18:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w