php-gtk2怎么用,学习php-gtk2之事件绑定

上次我们在hello glade的时候看到,php-gtk2已经能够根据Glade输出的xml生成窗体了。但是在Glade中设定的Button事件,如何和php接口呢?看下面的例子:

Glade输出的xml

True

Close me

GTK_WINDOW_TOPLEVEL

GTK_WIN_POS_NONE

False

True

False

True

False

False

GDK_WINDOW_TYPE_HINT_NORMAL

GDK_GRAVITY_NORTH_WEST

True

True

gtk-close

True

GTK_RELIEF_NORMAL

True

其中有这样一行,表示id为btnClose的button绑定了事件onClickButton

下面是php实现的onClickButton:

$glade = new GladeXML(dirname(__FILE__) . '/helloglade.glade');

//这是重点,事件自动绑定

$glade->signal_autoconnect();

//当btnClose被点击的时候就会调用本事件

function onClickButton() {

echo "button clicked!\r\n";

Gtk::main_quit();

}

//Start the main loop

Gtk::main();

?>

在上面的例子中,很容易就完成了onClickButton函数的绑定,那么有没有oo一点的写法呢?再看下面的例子:

// 这里我们使用一个对象来代替function

class MyClass {

//btnClose被点击的时候会调用本方法

function onClickButton() {

echo "MyClass->onClickButton!\r\n";

Gtk::main_quit();

}

function staticMethod() {

echo "MyClass::staticMethod()\r\n";

}

}

$glade = new GladeXML(dirname(__FILE__) . '/helloglade.glade');

//这里是重点,自动绑定某个对象的方法

$myClassInstance = new MyClass();

$glade->signal_autoconnect_instance($myClassInstance);

Gtk::main();

?>

到了这一步,个人感觉php-gtk2的开发就比较顺畅了,只是程序的编译输出,目前还没有合适的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值