QNX下Photon编程(一)Photon编程概述

这是一个系列讲座,主要讲述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封装了如下内容:

  1. 怎样绘制自己;
  2. 如何相应用户事件;
  3. 当他销毁时如何重画;

一个Widget创建后我们可以使用PtSetResource对他的资源(或者说是属性)进行设置,事件回调也可以通过这种方法设置。

 

一个Widget的生命周期包括如下阶段:

  1. 创建,Create or Instantiated,这时对象已经存在,可以设置属性;
  2. 真实化,realized,这时对象将可见,可以通过PtRealizeWidget()来真实化对象;
  3. 虚化对象,unrealized,这时对象不可见,可以通过调用PtUnrealizeWidget()来虚化对象;
  4. 销毁,当对象不需要存在时,可以手动销毁对象,可以通过PtDestroyWidget()销毁对象。

我们可以使用PhAB来建立Photon工程,也可以手工建立文本类型工程之后加入对象的创建、真实化、虚化、销毁的代码,通过调用PtMainLoop()处理消息队列中的消息来完成业务逻辑。

 

 

Photon API函数命名约定:

  1. Al前缀:国际化处理,需包含phexlib库;
  2. Ap前缀:PhAB处理模块、widget数据库等的函数,需包含Ap库;
  3. Pd前缀:绘制上下文函数;
  4. Pf前缀:文字操作;
  5. Pg前缀:底层图形函数;
  6. Ph前缀:Photon microKernel绘制请求函数;
  7. P1前缀:图形图像函数;
  8. Pm前缀:内存上下文函数;
  9. Pp前缀:打印函数;
  10. Pt前缀:创建、真实化、销毁Widget函数;
  11. Px前缀:加载图像、处理配置文件等扩展函数集;
  12. Pt前缀:实时时钟函数;
  13. utf8:UTF-8编码字符串函数;
  14. wc:宽字符字符串处理函数;

 

创建Photon工程步骤:

  1. 创建module:包括窗口、对话框、菜单、图片等资源;
  2. 添加widget;
  3. 添加事件回调处理函数;
  4. 生成代码;
  5. 运行应用程序;

 

 

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在QNX操作系统中,一个文件夹下能够写入的文件数量并没有固定的限制。这个值取决于多种因素,如文件系统的类型、操作系统的版本以及硬件的性能等等。但是,一般情况下,QNX操作系统对于单个文件夹下能够写入的文件数量是有限制的。 在QNX的文件系统中,每个文件或者文件夹都有一个i-node(索引节点),这个i-node保存了文件的元数据信息,包括文件权限、大小、时间戳等等。对于一个文件夹来说,它也有一个特殊的i-node用于保存文件夹的元数据信息。根据不同的文件系统类型以及操作系统的限制,这个特殊的i-node可以保存的文件数量是有限制的。 一般来说,QNX文件系统使用的是FAT32或者ext2/ext3/ext4等文件系统类型,这些文件系统对于单个文件夹下的文件数量都有自己的限制。在FAT32文件系统中,一个文件夹下最多能够写入65535个文件。而在ext2/ext3/ext4文件系统中,这个数量可能更大,但同样也有一定的限制,通常在几百万到十亿文件之间。 总之,无论使用什么文件系统类型,QNX操作系统下的一个文件夹下能够写入的文件数量都是有限的。具体数量取决于文件系统类型和操作系统的限制。如果需要处理大量的文件,建议进行合理的文件组织和管理,以及选择更适合大规模文件存储的文件系统。 ### 回答2: 对于 QNX 操作系统中的一个文件夹,理论上来说是没有限制的,即可以创建无限多个文件。这是因为 QNX 是一个支持真正的多任务和实时性的操作系统,其文件系统采用了高效的分层存储结构。 在 QNX 文件系统中,每个文件夹都会被分配一个唯一的 inode 节点用于记录该文件夹的相关信息,如文件数量、权限等。这意味着一个文件夹的文件数量受限于 inode 节点的数目。通常情况下,inode 的数量是足够大的,可以容纳非常大量的文件。 然而,实际上,一个文件夹下可以创建的文件数量可能会受到其他因素的限制。例如,系统的存储容量和文件索引表的大小都可能对文件数量产生影响。当存储容量不足时,无法创建更多的文件,而如果索引表的空间用尽,文件的数量也可能受到限制。 因此,我们无法给出具体的数字来回答一个文件夹下能写多少个文件。这个数字会受到多个因素的影响,包括文件系统的类型、存储容量和系统配置等。在实际应用中,我们应该根据系统的具体情况进行评估,以确保文件数量不会超出系统的限制,并进行适当的优化和管理。 ### 回答3: 在QNX操作系统中,一个文件夹下能存储的文件数量并不是固定的,它受到多个因素的影响。首先,文件系统的类型会影响到文件夹能够存储的文件的数量。比如,如果文件系统采用FAT32格式,那么一个文件夹最多可以存储65535个文件;而如果采用NTFS格式,一个文件夹下则可以存储数百万个文件。 其次,文件名称的长度会对文件夹能够存储的文件数量产生影响。在QNX中,文件名称的长度限制为255个字符。如果文件名称过长,那么文件夹下能存储的文件数量就会减少。 此外,系统的硬件资源也会对文件夹能够存储的文件数量有所限制。硬盘容量的大小直接关系到文件系统能够存储的文件数量。如果硬盘容量小,那么文件夹下能存储的文件数量就会受到限制。 综上所述,一个QNX文件夹下能存储的文件数量并不是一个确定的值,它受到多个因素的影响,包括文件系统类型、文件名称长度和硬件资源等等。因此,无法给出一个具体的数字来回答这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值