省事的gtk2-gladexml模块
时间:2008-06-30 来源:lonelyair
可算是省了不少烦琐的事哦,不需要一直编写代码去完成GUI,而且真要是一个一个敲的话,没有很好的逻辑观念也白搭,Gtk2::GladeXML模块可以帮我们完成这些事,也得多亏Glade3呀,帮我们做好了大量工作。
看看最简单的是怎么完成的吧?
我们先完成hello.glade
这个用galde3去完成吧,自动会生成这个文件的。
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
#!F:/Perl/bin/perl.exe -w
//这里有个问题要说明下,要用全路径,不知道是不是在windows下就是这样的,反正要是拿例子里边的来的话,是不对的,为这个我还发邮件去gtk2-perl-list。 |
本来还想放个图的,好象不能放就算了,后边有新进步,再说。
有段抄来的关于,gtk2-perl实现与c方法的对比,如果以后不好找,我们也可以自己探索下嘛
Gtk2-perl 改进了一些 Gtk+ 的用法,让用户在编写 Gtk2-perl 的程序时更加方便。原来在 gtk 中的纯 c 的写法,在 Gtk2-perl 中变成了面向对象的写法,使人们更容易理解。例如:
Gtk+ 中: gtk_window_
Gtk2-perl 中:Gtk2::Window(一个库的表示)
Gtk+ 中: gtk_window_new
Gtk2-perl 中:Gtk2::Window -> new(一个函数的表示)
Gtk+ 中: gtk_window_set_default_size (GtkWindow * window, gint width, gint height)
Gtk2-perl 中:$window -> set_default_size ($width, $height); #一个函数的参数设定
Gtk+ 中: gtk_window_set_icon_list (GtkWindow * window, GList * list)
Gtk2-perl 中:$window -> set_icon_list (@icons); #设定一个函数的一组参数
原来在 Gtk+ 中函数的参数如果是一个数组,一般就需要传递这个数组的大小。在 Gtk2-perl 中就不必了。例如:
Gtk+ 中: gtk_curve_set_vector (GtkCurve *curve, int veclen, gfloat vector[]);
Gtk2-perl 中:$curve -> set_vector (@vector); #一个函数的参数设定没有了数组大小的传递
原来在 Gtk+ 中的 new 函数只是简单的建立一个新的功能,在 Gtk2-perl 中我们可以让 new 函数带多个变量,来进一步的设定这个功能。例如:
Gtk+ 中: GtkWidget* gtk_button_new_with_label (const gchar *label);
Gtk2-perl 中:$button = Gtk2::Button -> new($str); ##添加一个新按钮并设定按钮上的文字
原来在 Gtk+ 中函数返回值一般都是指针,在 Gtk2-perl 中可以返回多个变量。例如:
Gtk+ 中: gtk_window_get_size (GtkWindow *window, gint *width, gint *height);
Gtk2-perl 中:($width, $height) = $window -> get_size; #得到窗口大小返回到两个变量中