paip.php-gtk 桌面程序 helloworld总结
paip.php-gtk 桌面程序 helloworld总结
作者Attilax , EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
用php写桌面程序的最大最大最大好处就是那是脚本,灵活,,
随时修改,无需编译..方便..如果需要加密也能可以用zend ...
A.另外,有IDE支持可视化拖拉式编程..也是很方便阿..
B.PHP世界流行度高,网上代码大把的。
C.体积小,无需安装,绿色软件。。
D.PHP也是全能型实用性语言,扩展度高。。
E.跨平台,PHP跟GTK都可以运行在LINUX上..
当然AHK也不错,不过无法IDE可视化界面编程,并且难实现数据库编程,难以WEB编程...
按键精灵,也其实不错,不过是国内流行,没有世界流行度
易语言,快手aauto则是编译型语言..并且只是国内流行,没有世界流行度
1.下载php 5.2.5 ,gtk 扩展 PHP-GTK 2.0.1 , GTK+ 2.12.8
-------------------------------------------------------------------------
从http://gtk.php.net/docs.php下载 。。。全套SDK包。。
php-gtk-2.0.1 Windows binary pack - 16-May-2008 (7.5M,这个主要是PHP+PHP-GTK基础包+GTK)
php-gtk-2.0.1 Windows binary extensions pack - 16-May-2008 (3M 这个主要是PHP-GTK其它扩展,可视化界面必备)
总共约10M大小。。。
2.下载 JeCat PHP 开发工具箱 (40M)
-----------------------------------------------
里边有个Glade 3 GUI设计工具 ..用来可视化拖拉界面必备。。
虽然JCAT框架也不错。但是已经停止维护,且MS 是MVC式的,使用成本高,文档缺少。直接用原生GTK框架就好。
3.使用Glade 3 GUI设计工具建立一个界面halo.glade文件
-----------------------------------------------------------
先拖拉一个WINDOWS窗体,再一个GtkLayout布局容器(必备,不然直接放控件会充满整个窗口),再拉一个BUTTON上去...
----------查看它生成的代码是这样的。。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
<!--Generated with glade3 3.4.3 on Sat Sep 14 23:09:48 2013 -->
<glade-interface>
<widget class="GtkWindow" id="window1">
<child>
<widget class="GtkLayout" id="layout1">
<property name="visible">True</property>
<child>
<widget class="GtkButton" id="button1">
<property name="width_request">114</property>
<property name="height_request">36</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="label" translatable="yes">button</property>
<property name="response_id">0</property>
</widget>
<packing>
<property name="x">174</property>
<property name="y">51</property>
</packing>
</child>
</widget>
</child>
</widget>
</glade-interface>
4.建立一个start.php
----------------------------
<?php
$glade = new GladeXML('halo.glade');
$window = $glade->get_widget('window1');
// $window->set_default_size(460,260); // 设置窗体的大小
//$window->set_title("Hello World");
echo " c99 load ok";
$window->show_all();
//Start the main loop
Gtk::main();
?>
5.运行程序
--------------
.\php-gtk2\php.exe .\Start.php
GTK是C写的,速度很快,,立马出来..比WinBinder快好多..
paip.php-gtk 桌面程序 helloworld总结的更多相关文章
- Tkinter开发第一个桌面程序HelloWorld
在Python3中是tkinter,Python2中是Tkinter Tkinter是Python 官方承认的标准 GUI 方案(de-facto standard),因为是Python自带安装,决定 ...
- Atitit.使用引擎加脚本架构的设计 使用php,js来开发桌面程序。。
Atitit.使用引擎加脚本架构的设计 使用php,js来开发桌面程序.. 1. 引擎加脚本架构 跨平台,桌面与web的优势1 2. 架构桌面引擎(java,c#)2 3. php桌面引擎要点2 3. ...
- [IOS]从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld
首先这篇文章比较长,若想了解Xcode7的免开发者帐号真机调试运行IOS程序的话,直接转到第五部分. 转载请注明原文地址:http://www.cnblogs.com/litou/p/4843772. ...
- Java开发桌面程序学习(一)——JavaFx+Jfoenix初始以及搭建
Java开发桌面程序学习(一)--JavaFx+Jfoenix初始以及搭建 前言 想做一个Java的桌面程序,但是,使用原生的Swing感觉又十分麻烦,那个布局都是拿代码设置,看着十分的乱,偶然的情况 ...
- 在桌面程序上和Metro/Modern/Windows store app的交互(相互打开,配置读取)
这个标题真是取得我都觉得蛋疼..微软改名狂魔搞得我都不知道要叫哪个好.. 这边记录一下自己的桌面程序跟windows store app交互的过程. 由于某些原因,微软的商店应用的安全沙箱导致很多事情 ...
- 关于xfce桌面程序启动失败
当双击桌面图标的时候,出现如下错误信息:Process org.xfce.FileManager exited with status 1 于是做出如下尝试: 1. ps aux | grep Fil ...
- 用node-webkit(NW.js)创建桌面程序
以往写windows桌面程序需要用MFC.C#之类的技术,那么如果你只会web开发技术呢?或者说你有一个网站,但是你想把你的网站打包成一个桌面应用程序,该如何做呢? 答案就是用node-webkit这 ...
- web桌面程序之图标拖动排序的分析
在web桌面程序里,图标拖动并重新排序是个比较常见的功能.这个功能我之前反复修改了好几遍,现在终于整理出了比较理想的解决思路,决定拿出来分享下. 这一功能主要有哪些难点呢?我总结了一下一共有2处难点: ...
- 在.net桌面程序中自定义鼠标光标
有的时候,一个自定义的鼠标光标能给你的程序增色不少.本文这里介绍一下如何在.net桌面程序中自定义鼠标光标.由于.net的桌面程序分为WinForm和WPF两种,这里分别介绍一下. WinForm程序 ...
随机推荐
- Visual format language
所谓的VFL语言其实就是Visual format language 的缩写,是一种使用代码添加约束的方式,类似于Masonry SDAutolayout的效果,但是操作起来可能要相对简单.一行代码 ...
- C# 微信公众平台开发(3)-- 接受/发送消息
1.接收事件 关注/取消关注事件: 用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL. 通过微信返回的XML,我们通过代码 就可以作相应的处理: 先获取返回的信息: if (Ht ...
- HTTP协议(超文本传输协议)
一.HTTP的简介: 超文本传输协议. 它是基于TCP连接的(默认端口号是80).所以在传输数据前客户端需向服务器发送连接请求.当服务器同意连接请求,建立连接后才可以发送数据报文. 二.HTTP的报文 ...
- JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth
常用: JS 获取浏览器窗口大小 // 获取窗口宽度 if (windows.innerWidth) winWidth = windows.innerWidth; else if ((docume ...
- 关于jq操作table下多个type=radio的input的选中
假如有2个table: <table id="table1" border="0"> <tr> <td><input ...
- java时间验证工具
可以验证2014-02-21这种错误
- Teclast/台电 P98HD四核测评9.7寸台电P98HD 评测体验 (转载)
自从苹果新iPad上市推出后,拥有Retina高清屏幕分辨率的平板让我们的视线一下子变得“清晰”起来,超高2048x1536分辨率也成为厂商们追捧的对象,在经历了双核时代配备高清分辨率对于硬件性能承载 ...
- UV印刷
UV就是在一张印上你想要的图案上面过上一层油,主要是增加产品亮度,保护产品表面,其硬度高,耐腐蚀摩擦,不易出现划痕等,有些复膜产品现改为上UV,能达到环保要求,但UV产品不易粘接,有些只能通过局部UV ...
- 软件包管理_rpm命令管理_yum工具管理_文件归档压缩_源码包管理
rpm命令管理软件 对于挂载的像U盘那种都会在midea目录下,但是会显示在桌面上 安装软件(i:install,v:verbose冗长的,h:human):rpm -ivh xxxx.rpm 安 ...
- Java GUI图形界面开发工具
Applet 应用程序 一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需 ...