最近用QT做软件设置界面,有些经验及学习来源,分享出来
1 E币
成为会员,免费下载资料
文件大小:58.92 KB
上传者:ngswfx
时间:2016-06-23 22:15:13
下载量:24
本帖最后由 ngswfx 于 2016-7-5 21:31 编辑
//////////////1111111111111111111111111111111111111111111111111111
第一个感觉能分享的,就是关于海斯HIFB问题。都觉得海斯这个东西搞QT还要带上海斯的库很麻烦。
我通过自己调整研究,这个算是很好的解决了,自己试了一下,写的QT程序,只要编译一次,都不用重新编译,就可以直接在3536和3520不同芯片上运行。和某个芯片基本上没关系了,因为他们的HIFB调用方法都一样。没区别。
附件中的HSFBI.tar.gz解压后,是2个文件,HSFBI.cpp HSFBI.h
就是在main.cpp中,加入我附件中的头文件HSFBI.h。然后,加入:
extern int _nWndWidth;
extern int _nWndHeight;
///////////////////////////
在int main(int argc, char *argv[])里面,强制设置寬高:
///////////////////////////////////
_nWndWidth=1920;
_nWndHeight=1080;
//////////////////////////////////
//再初始化,分配好FB的buffer就可以了。
CheckInitFBI();
///////////////////////////////这种做法,和主应用程序是共同工作的,首先要保证主应用程序已经开启了VO,也开启了FB(必须开,要能确定叠加上了才行,而且驱动装载批处理里面HIFB的缓冲要弄成8100K以上,TDE要弄成1920*1080要开够)。都可以绘制的情况才行。最大的好处就是不用编译不同芯片版本的QT程序,只要是HS的都能用,当然麻烦些的就是需要自己做一个网络接口或者共享内存接口和主程序通信,我喜欢把构架做的稍复杂,但模块独立程度高,不希望程序,每个芯片一个版本,芯片多了,一个程序弄好多回,太折腾,还要单独针对性的编译,现在实际测试看,效果还可以,本来设置程序就和芯片部分交互很少,我这里就仅仅控制个画面放大缩小啥的,关联性很少。
////////////2222222222222222222222222222222222222222222222222222
//第二个觉得能共享的部分,不是我弄的,是网上一个搞监控客户端的朋友发的,对于我弄QT才一个星期来说,能把程序弄得差不多,帮助很大。不敢独享。最起码让初学者,减少半个月研究。
原文地址:[url]http://www.cnblogs.com/feiyangqingyun/p/4192484.html[/url],下载就在文章最下面,大侠风范十足。
如果找不到,本贴也有下载地址。
//他的QT工程,就是个界面程序,没有和任何视频有交互,主要是代码摘除了实际视频连接部分(防止不劳而获,滥竽充数,扰乱市场:lol ),但即便这样,对我们了解QT的各个控件使用,尤其和监控相关的部分,帮助甚大。可以直接修改,在3536上运行。直接运行看不到什么效果,我把我附件中的两个文件放到他的项目里面,然后编译运行,显示都是横道道,没有出界面,因为他做的是可以设置不同界面QSS构架的,没细细去研究了,以后在说。
////我是另起炉灶,自己写了个程序,然后摘抄他那个工程里面的代码。这样对于某个控件的使用,就不用一个个研究了,尤其那个16画面分割的处理方法,要是自己研究,没一个星期,弄不出来的。
///////另外刚看到他还共享了一个软键盘的代码,估计也不错。他10块钱卖键盘整体源码,倒是很方便,相当于请他抽包烟做个朋友了,我先研究一下他写的核心代码,如果我搞不定,我请他抽烟:lol 。
//////////QT是个好东西,除了内存占用稍大(主要是库一加载会立刻用掉17M左右,1920*1080*4的界面buffer会用掉8M,写个程序啥都没干,二三十M内存没了,OS部分估计最小建议为80M-96M左右了),程序占用稍大(15M左右空间占用,压缩好的话,9M左右,32Mflash看来是必须了,如果非要压缩弄到16M里面,应用程序部分有点紧张,还有onvif,rtsp,以及自己写的10几个库,还有几个应用程序,web等模块,我简单算了一下,估计剩余1M以内了,各个模块都裁的不像样了),QT编写程序真的很快,很方便,好多控件直接用,要是自己写,累个半死,还不好用。即便其他平台用的代码,例如针对windows写的QT代码,最起码可以参考,移植过程几乎为0,就是交叉编译环境简单弄一下,QT在3536上,暂时还没发现致命问题。
V6000界面:
//////////////1111111111111111111111111111111111111111111111111111
第一个感觉能分享的,就是关于海斯HIFB问题。都觉得海斯这个东西搞QT还要带上海斯的库很麻烦。
我通过自己调整研究,这个算是很好的解决了,自己试了一下,写的QT程序,只要编译一次,都不用重新编译,就可以直接在3536和3520不同芯片上运行。和某个芯片基本上没关系了,因为他们的HIFB调用方法都一样。没区别。
附件中的HSFBI.tar.gz解压后,是2个文件,HSFBI.cpp HSFBI.h
就是在main.cpp中,加入我附件中的头文件HSFBI.h。然后,加入:
extern int _nWndWidth;
extern int _nWndHeight;
///////////////////////////
在int main(int argc, char *argv[])里面,强制设置寬高:
///////////////////////////////////
_nWndWidth=1920;
_nWndHeight=1080;
//////////////////////////////////
//再初始化,分配好FB的buffer就可以了。
CheckInitFBI();
///////////////////////////////这种做法,和主应用程序是共同工作的,首先要保证主应用程序已经开启了VO,也开启了FB(必须开,要能确定叠加上了才行,而且驱动装载批处理里面HIFB的缓冲要弄成8100K以上,TDE要弄成1920*1080要开够)。都可以绘制的情况才行。最大的好处就是不用编译不同芯片版本的QT程序,只要是HS的都能用,当然麻烦些的就是需要自己做一个网络接口或者共享内存接口和主程序通信,我喜欢把构架做的稍复杂,但模块独立程度高,不希望程序,每个芯片一个版本,芯片多了,一个程序弄好多回,太折腾,还要单独针对性的编译,现在实际测试看,效果还可以,本来设置程序就和芯片部分交互很少,我这里就仅仅控制个画面放大缩小啥的,关联性很少。
////////////2222222222222222222222222222222222222222222222222222
//第二个觉得能共享的部分,不是我弄的,是网上一个搞监控客户端的朋友发的,对于我弄QT才一个星期来说,能把程序弄得差不多,帮助很大。不敢独享。最起码让初学者,减少半个月研究。
原文地址:[url]http://www.cnblogs.com/feiyangqingyun/p/4192484.html[/url],下载就在文章最下面,大侠风范十足。
如果找不到,本贴也有下载地址。
//他的QT工程,就是个界面程序,没有和任何视频有交互,主要是代码摘除了实际视频连接部分(防止不劳而获,滥竽充数,扰乱市场:lol ),但即便这样,对我们了解QT的各个控件使用,尤其和监控相关的部分,帮助甚大。可以直接修改,在3536上运行。直接运行看不到什么效果,我把我附件中的两个文件放到他的项目里面,然后编译运行,显示都是横道道,没有出界面,因为他做的是可以设置不同界面QSS构架的,没细细去研究了,以后在说。
////我是另起炉灶,自己写了个程序,然后摘抄他那个工程里面的代码。这样对于某个控件的使用,就不用一个个研究了,尤其那个16画面分割的处理方法,要是自己研究,没一个星期,弄不出来的。
///////另外刚看到他还共享了一个软键盘的代码,估计也不错。他10块钱卖键盘整体源码,倒是很方便,相当于请他抽包烟做个朋友了,我先研究一下他写的核心代码,如果我搞不定,我请他抽烟:lol 。
//////////QT是个好东西,除了内存占用稍大(主要是库一加载会立刻用掉17M左右,1920*1080*4的界面buffer会用掉8M,写个程序啥都没干,二三十M内存没了,OS部分估计最小建议为80M-96M左右了),程序占用稍大(15M左右空间占用,压缩好的话,9M左右,32Mflash看来是必须了,如果非要压缩弄到16M里面,应用程序部分有点紧张,还有onvif,rtsp,以及自己写的10几个库,还有几个应用程序,web等模块,我简单算了一下,估计剩余1M以内了,各个模块都裁的不像样了),QT编写程序真的很快,很方便,好多控件直接用,要是自己写,累个半死,还不好用。即便其他平台用的代码,例如针对windows写的QT代码,最起码可以参考,移植过程几乎为0,就是交叉编译环境简单弄一下,QT在3536上,暂时还没发现致命问题。
V6000界面:
展开》
折叠》