Qt使用什么控件能直接显示Framebuffer (argb8888格式)的图形数据,求助
Hi,各位论坛大神,第一次发帖,不晓得规范了,先谢过....
------------------------------------------------------
1.问题是这样提出的:
在linux下开发,已经将图形绘制 字体绘制什么的渲染出来,填充到和linux的framebuffer设备映射的内存了,图形可以直接在电脑屏幕画出来。现在想使用Qt做一个类似手机模拟器的那玩意,将映射到framebuffer的数据(ARGB8888格式的bitmap)通过进程间共享内存的方式,使用Qt的控件显示出来。但是对Qt的控件类并不熟悉,也没有足够多的时间去慢慢研究学习了,就问下 使用 Qt的那个控件可以达到这样的目的,谢谢.....
2.更进一步的疑问:
上面的实现思路是否存在问题,Qt和其他linux下进程的内存共享是否存在障碍,目前我不知,只认为理论上没问题,懂的大神不吝赐教几个注意事项,可以帮助实现上少些弯路。
3.一并再谢,苦等点拨
[号上没什么分,不知道50分算多算少,分少请勿嫌弃]
[最优解释]
其实Qt的framebuffer的操作也是通过内存共享的方式实现的。
你可以在QAppliction_xxxx.cpp 的 qt_init()函数里面调用的opendisplay()..看到哈。
具体如何用可以看源码。和帮助 QSharedMemry 有例子~
[其他解释]
关于framebuffer的东西你可以去看看。example/qws/linuxfb例子。这个挺好的。
[其他解释]
自己顶下,别潜下去了...
[其他解释]
恩,谢谢两位,已经搞定,图形数据直接放到Qimage的bits里面,再刷到界面显示就是,Qt和其他进程内存共享也直接调用linux的shmet系列接口搞定.