PHP GTK按钮点击
问题描述:
我试图使这个按钮更改背景当你点击它,这是我所:PHP GTK按钮点击
<?php
if (!class_exists('gtk')) {
die("Please load the php-gtk2 module in your php.ini\r\n");
}
function loc(){
return dirname(__FILE__);
};
$wnd = new GtkWindow();
$wnd->set_title('Picture Viewer');
$wnd->set_resizable(false);
$wnd->set_position(GTK_WIN_POS_CENTER);
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));
$im = GtkImage::new_from_file(loc()."\bg.jpg");
$btn = new GtkButton;
$btn->set_image($im);
$btn->clicked(function(){
$im = GtkImage::new_from_file(loc()."\bg2.jpg");
$btn->set_image($im);
});
$wnd->add($btn);
$wnd->show_all();
Gtk::main();
?>
为什么不这项工作?
我认为的$btn->clicked(function(){
部分的问题。
答
$btn->clicked
实际上发出点击信号。你想要做的是连接函数信号:
$btn->connect('clicked', 'change_background');
function change_background($whichbutton)
{
$im = GtkImage::new_from_file(loc()."\bg2.jpg");
$whichbutton->set_image($im);
}