Momentics创建Photon图形程序
2024-08-29 08:37:51
Photon microGui是qnx原生的UI图形工具。Qnx下开发Photon 一般是使用phAB来创建,使用默认的Momentics IDE也可以创建Photon图形程序。
首先需要创建一个c/c++工程,然后添加Photon的库,如图:
添加了库之后,就可以写photon的helloworld程序了。
#include <Ph.h>
#include <Pt.h> int onBtnClick( PtWidget_t *widget, void *data, PtCallbackInfo_t *cbinfo)
{
std::cout << "onBtnClick!" << std::endl;
} int main(int argc, char *argv[]) {
std::cout << "Welcome to the QNX MNH Test!" << std::endl; Pt_widget *window;
PtArg_t args[];
int i = ;
Ph_dim winSize;
winSize.h = ;
winSize.w = ; PtSetArg( &args[i++], Pt_ARG_WINDOW_TITLE, "Hello", );
PtSetArg( &args[i++], Pt_ARG_DIM, &winSize, );
//PtSetArg( &args[i++], Ph_WM_RENDER_BORDER, false, 0); if( NULL == ( window = PtAppInit( NULL, &argc, argv, i, args ) ) )
{
perror( "PtAppInit()" );
return ;
}
window->border_width = ; i = ;
PtArg_t argDrawWidget[];
PtSetArg( &args[i++], Pt_ARG_DIM, &winSize, );
Pt_widget *pDraw = PtCreateWidget(PtRaw, window, i, argDrawWidget); PtAddCallback( pDraw, Pt_CB_ACTIVATE, onBtnClick, NULL );
PtRealizeWidget(pDraw); PtRealizeWidget(window);
PtMainLoop();
return EXIT_SUCCESS;
}
首先要初始化PtAppInit,中间是使用PtCreateWidget创建控件以及PtAddCallback添加事件监听,并调用PtRealizeWidget使能并显示所有控件,最后调用PtMainLoop进入消息循环。
这样一个简单的Photon图形程序就完成了,编译完成后就可以拿去跑了。 Photon microGui虽然小,但是控件还是很完整的,
另外,photon还支持自定义控件。用它基本可以满足qnx下开发图形程序的需求。
最新文章
- C# 如何生成一个时间戳
- github基本操作
- 【SPOJ 8222】Substrings
- servlet、genericservlet、httpservlet之间的区别(转)
- QML学习笔记之二
- ThinkPHP 3 的CURD管理用户信息 修改和删除
- 个推推送 产品SDK常见问题检查
- api接口写好了?想过(Accept,Content-Type)?返回类型json|xml?
- wpf改变网格字体颜色
- html/css 表格元素以及表格布局
- [C++]油田(Oil Deposits)-用DFS求连通块
- maven plugins
- 死磕!Windows下Apache+PHP+phpmyadmin的配置
- 关于css浮动的一点思考
- 百度地图Api进阶教程-地图鼠标左右键操作实例和鼠标样式6.html
- 在windows下实时监控、接受文件变化小工具
- 树莓派项目——基于树莓派的WIFI网络互传系统设计
- Druid 配置_配置WebStatFilter
- pytest文档1-环境准备与入门
- PostgreSQL 系统参数调整及并行设置(转)