社区
Qt
帖子详情
QT界面线程负荷太重(大量绘制工作),怎么办
dmx1988526
2012-09-29 10:41:08
我从相机采集来的是图片,每秒15帧 现在将其绘制到界面上,类似视频监控。但是界面线程明显忙不过来了。很希望创建新线程处理视频窗口,但是qt不允许。
有什么解决办法没有?请高手多多指教
...全文
272
2
打赏
收藏
QT界面线程负荷太重(大量绘制工作),怎么办
我从相机采集来的是图片,每秒15帧 现在将其绘制到界面上,类似视频监控。但是界面线程明显忙不过来了。很希望创建新线程处理视频窗口,但是qt不允许。 有什么解决办法没有?请高手多多指教
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
圆圆胖胖的车车
2012-09-29
打赏
举报
回复
你可以用一个全局的QPixmap或者QImage...
然后子线程不停的画这个Image..
同时GUI线程paintEvent() 这里面去绘制Image...
dmx1988526
2012-09-29
打赏
举报
回复
非常感谢你的回答。看到你的回复后我再次尝试了一遍,该方法可行。之前我用的是全局QPixmap指针,在采集线程中new(可能是非gui线程的原因,new了无法分配。变量为null)。刚刚搬到gui线程里面,然后就行了,并且研究QPixmap scale的时候发现了painter的scale,现在画面不错。
我准备9路监控,不过现在手头没那么多相机。。。还不知道效果怎样
非常感谢这样用心思考后的回答。
解决 CPU 占有率高
通过前辈的指导和实验发现了其中的原因:本人利用label的颜色来实时更新不同的设备状态,label控件的颜色设置函数选择了setStyleSheet,由于定时器中不断刷新而且刷新频率较高,而且单个页面中的setStyleSheet较多,导致了CPU占用率高。
线程
在延时状态下是会把 CPU 交给其它
线程
的,避免不停地抢占 CPU,以上代码虽然加了延时,但前面有一个判断操作,如果满足了条件,就直接调用continue,如果这个判断条件一直都是满足的,那就会不停地 continue,代码也就变成了以下形式。
QML数据可视化与交互设计
QML语言简介QML语言简介QML(
Qt
Meta-Language)是一种基于JavaScript的声明性语言,用于描述用户
界面
和应用程序的行为。它是
Qt
框架的一部分,专门用于构建富交互式的应用程序。QML与C++一样,是
Qt
框架的一个核心组成部分,但它提供了一种更简单、更直观的方式来描述用户
界面
。QML的特点声明性语法QML使用声明性语法,这使得开发者可以更简洁地描述用户
界面
和应用程序的行为。这种方式与传统的编程方式不同,后者需要编写
大量
的代码来定义对象和它们的行为。组件化。
Qt
C++/Go/Python 面试题(持续更新)
虚函数是通过虚函数表实现的,含有虚函数的类在构造函数中会初始化虚函数表指针,它存储在类内存中,指向虚函数表,虚函数表存储指向每个虚函数的指针,多个类对象共用一张虚函数表。虚函数和普通函数都存储在代码段。构造函数不能为虚函数,因为虚函数表指针需要在构造函数中初始化。析构函数最好为虚函数,这样当一个指向派生类的基类指针被释放时,可以先调用派生类析构函数,再调用基类析构函数,否则只会调用指向的类的析构函数。
iOS 保持
界面
流畅的技巧
这篇文章会非常详细的分析 iOS
界面
构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。 Index 演示项目 屏幕显示图像的原理 卡顿产生的原因和解决方案 CPU 资源消耗原因和解决方案 GPU 资源消耗原因和解决方案 AsyncDisplayKit ASDK 的由来 ASDK 的资料 ASDK
《Java Concurrency in Practice》中文版笔记
第1章 简介1.1 并发简史 茶壶和面包机的生产商都很清楚:用户通常会采用异步方式来使用他们的产品,因此当这些机器完成任务时都会发出声音提示。 1.2
线程
的优势
线程
能够将大部分的异步
工作
流转换成串行
工作
流,因此能更好地模拟人类的
工作
方式和交互方式。
线程
还可以简化JVM的实现,垃圾收集器通常在一个或多个专门的
线程
中运行。 因此,操作系统提供了一些高效的方法来实现多路I/O,例如Unix的sele
Qt
21,437
社区成员
26,687
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章