QNX下Photon编程(一)Photon编程概述
来源:互联网 发布:淘宝15天退货规则 编辑:程序博客网 时间:2024/05/20 18:55
这是一个系列讲座,主要讲述QNX下的GUI编程-Photon编程,主要针对初学者。
Photon Manager作为一个服务进程运行,并且创建一个三维的事件空间(包含二维空间的region和第三维--事件管理)。Photon Manager本身不会绘制任何东西,也不会管理鼠标、键盘等输入设备。Photon Manager只是一个中间件,一方面他提供给上层应用一系列标准编程接口,另一方面驱动程序和窗口管理器通过与他通信获得应用程序指令。
Photon microGUI包含了一个可视化开发工具Photon Application Builder,也就是我们常说的PhAB。他可以辅助设计界面,并生成相应的C/C++代码,通过使用PhAB我们可以快速的开发产品原型、并将每一个widget的事件处理回调属性化。
Widget集合建立在X Toolkit(Xt)库之上,这是一个面向对象的轻量级框架,如果你熟悉Xt,那么你学习Photon编程会很容易。
每一个Widget封装了如下内容:
- 怎样绘制自己;
- 如何相应用户事件;
- 当他销毁时如何重画;
一个Widget创建后我们可以使用PtSetResource对他的资源(或者说是属性)进行设置,事件回调也可以通过这种方法设置。
一个Widget的生命周期包括如下阶段:
- 创建,Create or Instantiated,这时对象已经存在,可以设置属性;
- 真实化,realized,这时对象将可见,可以通过PtRealizeWidget()来真实化对象;
- 虚化对象,unrealized,这时对象不可见,可以通过调用PtUnrealizeWidget()来虚化对象;
- 销毁,当对象不需要存在时,可以手动销毁对象,可以通过PtDestroyWidget()销毁对象。
我们可以使用PhAB来建立Photon工程,也可以手工建立文本类型工程之后加入对象的创建、真实化、虚化、销毁的代码,通过调用PtMainLoop()处理消息队列中的消息来完成业务逻辑。
Photon API函数命名约定:
- Al前缀:国际化处理,需包含phexlib库;
- Ap前缀:PhAB处理模块、widget数据库等的函数,需包含Ap库;
- Pd前缀:绘制上下文函数;
- Pf前缀:文字操作;
- Pg前缀:底层图形函数;
- Ph前缀:Photon microKernel绘制请求函数;
- P1前缀:图形图像函数;
- Pm前缀:内存上下文函数;
- Pp前缀:打印函数;
- Pt前缀:创建、真实化、销毁Widget函数;
- Px前缀:加载图像、处理配置文件等扩展函数集;
- Pt前缀:实时时钟函数;
- utf8:UTF-8编码字符串函数;
- wc:宽字符字符串处理函数;
创建Photon工程步骤:
- 创建module:包括窗口、对话框、菜单、图片等资源;
- 添加widget;
- 添加事件回调处理函数;
- 生成代码;
- 运行应用程序;
- QNX下Photon编程(一)Photon编程概述
- QNX下Photon编程(二)简单例子
- Photon服务器引擎(一)Photon简介
- Photon服务器引擎(一)Photon简介
- Photon(一)
- untiy下连接photon
- QNX Photon Gui and Multiple Threads
- Photon服务器引擎 入门教程一
- Photon服务器引擎 入门教程一
- Photon服务器引擎 入门教程一
- Photon学习笔记(一)
- Photon服务器引擎入门教程一
- Photon学习笔记(一)
- qnx neutrino 6.5.0 photon程序开机自运行
- photon引擎
- Photon术语
- Photon介绍
- Photon cloud
- 百度、google海量数据搜索算法题解
- Delphi7.0常用函数速查手册
- 小花仙攻略 各种花成熟时间和经验点
- 无法解析域名
- Linux软件安装常用方法
- QNX下Photon编程(一)Photon编程概述
- 为了健康
- css样式表的问题
- 转--马云给正在奋斗的人的精典语句
- asp.net 页面传值
- 海量数据处理方法总结
- gcc使用大全
- 内核模块相关命令:lsmod,depmod,modprob...
- 深度挖掘Linux操作系统命令“man”