拼接屏软件遇到的相关问题

朋友听说我大学做过windows软件,让我帮忙做一个拼接屏的查询软件。这个软件其实是普通的window程序,只有两级页面,但是出于内容多变,所以要做成可以配置,两种模式。

  • 拼接屏:5块52寸最高分辨率1920的屏幕横向拼接而成。
  • 可配置:就是一级界面的按钮可以增,删、改。改包括位置、图标、大小、半径、透明度,一级对应的二级页面内容。
  • 两种模式:游客模式,一级页面上的按钮可以同时点击,二级页面在对应的屏幕上显示出来。讲解模式:只有第一块屏幕可以点击,二级页面以可选择的特效出现,包括常见的:百叶窗、淡入淡出、扩展、gif动画

问题解决方式:

  1. 分辨率方案:普通显卡只支持一个扩展屏,少部分支持两个扩展屏,达不到需要的5个屏幕拼接。所以采用了支持AMD宽域技术的多分屏显卡,解决分辨率的问题。显示简单,低数率任务还可以。动作一快就会有延迟产生。
  2. 采用.ini文件记录配置信息,程序启动时候读取信息即可。
  3. gif图不支持半透明效果,所以在美工制作gif的时候,将图片导出为.png的图片序列。由于分辨率大和QPixmap加载图片过慢,所以在一张张播放图片的时候性能瓶颈在加载图片上,所以需要预加载在内存当中。
  4. 百叶窗效果和扩展效果,利用QPixmap的copy();函数,将图片分割后慢慢显示出来。

void vxLabelItem::slot_timeOut( int val)
{
mCurrentImage = mDrawImage.copy(0, 0, val, imageHeight);
m_currentWidth = val;
qDebug()<<"val"<<val<<endl;
update();

}

  1. 重载paintEvent(QPaintEvent *event)事件,要主要不要在当中做耗时操作,比如加载图片,特别是大图。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,523评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,252评论 4 61
  • 功利性的目标是感觉把我垫的钱报销一部分出来,好让我买车。 而从我内心来讲,我不止一次的想过要跟大家,我亲爱的同事们...
    pennyzhou阅读 410评论 0 0
  • 加入小灶群,是我第一次进付费群。加入后,潜水了几个月,后来因为“既然来了,为什么不好好玩耍。”这句话才开始不断冒泡...
    芬芬的小屋阅读 539评论 8 9
  • “猴子理论”是有效管理时间和培养下属的一种方法论。 从员工角度,做好工作上的每一件事是我们的责任...
    自如得己阅读 620评论 0 1