php-gtk-(3)

php-gtk2学习之hello glade

原文地址:http://bbs.phpres.com/viewthread.php?tid=1799


上 次我们用php-gtk2写了第一个hello world的windows gui程序,不是太难,也不算太容易。因为界面上毕竟不像开发web程序那样,有dreamweaver之类的工具辅助设计,也不像delphi之类的 IDE,要做个像样的玩具肯定是有些难度的。下面我们看看进阶的用法,使用Glade来辅助界面设计
Hello glade在linux下做过gui的对glade应该不会陌生,用glade画好程序界面之后,可以输出一个xml格式的描述,象下面这样:

<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->

<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">



<glade-interface>



<widget class="GtkWindow" id="wndClose">

  <property name="visible">True</property>

  <property name="title" translatable="yes">Close me</property>

  <property name="type">GTK_WINDOW_TOPLEVEL</property>

  <property name="window_position">GTK_WIN_POS_NONE</property>

  <property name="modal">False</property>

  <property name="resizable">True</property>

  <property name="destroy_with_parent">False</property>

  <property name="decorated">True</property>

  <property name="skip_taskbar_hint">False</property>

  <property name="skip_pager_hint">False</property>

  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>

  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>

  <signal name="destroy" handler="gtk::main_quit"/>



  <child>

    <widget class="GtkButton" id="btnClose">

      <property name="visible">True</property>

      <property name="can_focus">True</property>

      <property name="label">gtk-close</property>

      <property name="use_stock">True</property>

      <property name="relief">GTK_RELIEF_NORMAL</property>

      <property name="focus_on_click">True</property>

      <signal name="clicked" handler="onClickButton"/>

    </widget>

  </child>

</widget>



</glade-interface>

上面定义了一个主窗体,里面自由一个叫btnClose的button。我们把上面的xml保存为helloglade.glade,下面我们看看 php-gtk2 是如何使用这份xml的描述:

<?php

// 建立一个glade实例,从xml文件里读取参数和元素

$glade = new GladeXML('helloglade.glade');



//Start the main loop

Gtk::main();

?>

上面的程序仅仅只有两行,就已经完成了整个界面的描绘,是不是很简单?
怎么用Glade坦白的说,Glade还不是相当易用。下面是Glade for win的下载地址:
http://gladewin32.sourceforge.net/modules/news/
我还在摸索如何把这东东用好,因为我总是在画了一个button的情况下,就填充了整个窗体,再也放不下别的内容,真是恼人哪。期待有大侠指点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值