PHP-GTK2-文档学习&翻译——教程部分Hello World (basic)
张成
2015/12
首先我们建立一个Hello World项目,建立一个窗口与文本HelloWorld。
例子:简单的HelloWorld脚本
<?php if (!class_exists('gtk')) { die("Please load the php-gtk2 module in your php.ini\r\n"); } $wnd = new GtkWindow(); $wnd->set_title('Hello world'); $wnd->connect_simple('destroy', array('gtk', 'main_quit')); $lblHello = new GtkLabel("Just wanted to say\r\n'Hello world!'"); $wnd->add($lblHello); $wnd->show_all(); Gtk::main();
运行效果如下。执行我们的bat文件,输入项目路径
下面我们来分析每一行代码。
if (!class_exists('gtk')) { die("Please load the php-gtk2 module in your php.ini\r\n"); }
判断gtk类的存在性,不要使用dl()函数,这个在PHP5已经废弃。
$wnd = new GtkWindow();
创建一个窗口对象,在之前的PHP4 和PHP-GTK1中,你可能会忘记使用&在new之前,但这在PHP5中不需要了。这自动是个引用。
$wnd->set_title('Hello world');
设置当前窗口的标题。
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));
这一段代码将窗口对象的析构函数与GTK::main_quit方法关联起来,告诉窗口关闭时使用这个方法。
$lblHello = new GtkLabel("Just wanted to say\r\n'Hello world!'");
我们想创建一些少许文本,使用GtkLabel能很好的完成这个任务。
$wnd->add($lblHello);
告诉窗口,加入这个组件到他里面去。
$wnd->show_all();
显示窗口
Gtk::main();
进行窗口循环,在windows编程中,窗口不断循环取得消息,根据消息来处理各种事件。这里封装到了Gtk::main()函数中。