7 墨客墨客

尚未进行身份认证

我要认证

学习学习

等级
TA的排名 16w+

Qt界面刷新优化的一些心得

【背景】一个类似Windows任务管理器的性能界面。该界面有多个曲线图同时定时刷新,每个曲线图包括多条曲线更新,数据更新频率大概为一秒一次。程序中曲线图已封装为自定义的图表类,给出数据更新接口。【初始方案】主程序设计方案上,采用数据收集和数据更新分开的方式,即数据收集线程仅收集并解析来自数据源的数据,并分门别类的存储到共享结构体中。数据更新线程在收到数据更新信号之后,把新的数据刷新到图表中。【存在问题】数据刷新时,鼠标拖拽主界面移动时存在停顿,且停顿频率与数据刷新频率相当。尤其是当数据量较大或更新频

2020-07-06 22:29:13

自定义封装Qt柱状图类,实现数据动态更新和鼠标数值显示

最近有个使用Qt动态创建柱状图的需求,使用Qt中的图表类Qchart封装一个自定义柱状图类,该类需要完成三点需求:1、支持X轴和Y轴的同时动态输入,即表中X轴条柱个数和Y轴数值动态变化;2、X轴条柱个数不变,动态刷新Y轴对应各个条柱数值。3、在柱状图显示时,支持鼠标悬停时显示条柱数值。【思路】1、考虑自定义这个类如何在主窗口中的展示,在类似使用QHBoxLayout创建一个固定...

2019-12-15 12:13:31

【树莓派记录】还原已搭载树莓派系统的TF卡

不小心把树莓派系统搞坏导致3B上的wifi模块无法启动连接,只能重装系统,因为搭载了树莓派系统的TF卡在windows下仅有14MB的空间,需要对原来的TF卡进行格式化,网上有挺多教程,包括用DiskGenius进行格式化的,步骤繁琐,下面介绍个简单粗暴的方法;1、...

2018-05-29 13:15:18

树莓派x264和ffmpeg编译(用于支持GPU硬件编解码)

FFmpeg是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能、视频格式转换等。视频编解码是一个非常消耗系统资源的过程,而树莓派自带了H.264的硬件编解码器,本文讲介绍在树莓派上配置FFmpeg使其支持硬件编解码器并编译安装的过程,所使用到的所有库文件,包括x264和ffmpeg源码及其配置文件,均上传至CSDN下载中心,下载地址如下:x264源码及其配置文件下载:点击打开链接

2018-01-31 10:45:50

【记录】memcpy后报错:segmentation fault

问题:使用v4l2框架进行图像数据采集,遇到在执行memcpy()函数时报错segmentation fault 开发环境:ubuntu和ARM开发板(Linux+Qt系统) 实验做的代码如下(只摘取关键部分代码)unsigned char *tmpbuffer;tmpbuffer=(unsigned char *)calloc(1,(size_t)(IMAGEWIDTH*IMAGEHEIGHT

2017-12-14 15:55:45

FFmpeg中数据与OpenCV中Mat数据的转换

做的一个程序,在Qt中用FFmpeg接收解码RTSP流,后期需要对解码得到的数据进行处理,因此需要把FFmpeg得到的数据转换成OpenCV中的Mat类型存储下来。 FFmpeg通过sws_scale函数将原来视频格式转换为YUV格式,保存着AVPicture结构体中,而AVPicture结构体中的data数据就是我们需要存储的视频数据了。下面的代码,是在循环读取RTSP视频流之前,进行的设置:/

2017-11-24 21:11:27

Qt+ffmpeg环境搭建

一、ffmpeg下载 ffmpeg源码可在其官网上下载,网址:https://ffmpeg.zeranoe.com/builds/ 之前看了网上一些相关的配置文章,对于windows7 (64bit)下是选用64bit还是32bit的ffmpeg有着一些区别,有网友在64bit下使用64bit出现一些解决不了的错误,但使用32bit则不存在问题。我电脑64bit,选择32bit的ffmpeg.

2017-11-14 23:19:34

Ubuntu14.04下Qt5+opencv3.0安装和配置

一、Qt5安装 如果Ubuntu系统是64位,直接从Qt官网(如下图)上下载qt-opensource-linux-x64-5.6.3.run,之后添加执行权限运行安装即可。但是如果ubuntu系统是32位,官网上并没有32位的安装包,经过网上一番搜寻,通过以下方法可以安装上。 以下是执行步骤:sudo apt-get install build-essential(这是需要的工具)sud

2017-11-08 19:35:39

windows7(64bit)下opencv3.0+Qt配置过程

本文介绍在windows 7 64位下安装和配置Qt+Opencv3.0的过程,所需材料的版本和下载地址如下: Qt版本:qt-opensource-windows-x86-mingw492-5.6.3 【下载地址】http://download.qt.io/archive/qt/5.6/5.6.3/ 该地址下有多个Qt版本选择,在Qt官网上的下载过程有点乱,在这个链接里可以找到多个版本,下载

2017-10-30 21:51:44

【华为笔试】模块依赖关系判断

题目描述:一个系统的若干模块之间存在互相依赖的关系,如果A模块调用了B模块的接口,那么成为A依赖B,记为A->B如果A->B,B->A,那么称A和B模块都存在循环依赖。如果A->B,B->C,C->D,D->B,那么BCD存在循环依赖,A不存在循环依赖,以此类推先输入若干模块之间的关系,判断某模块是否存在循环依赖。模块ID范围为0--0xffffffff调用者保证相同的关系

2017-08-17 00:43:49

MJPG-streamer源码分析-输出部分

MJPG-streamer可以创建多个输出,简单的说,根据主函数中输入的参数解析的结果,确定输出通道的个数,至少保证有一个输出通道在程序运行时存在。从参数解析结果确定每个输出通道的参数,并以这些参数为每个通道创建发送线程。在每个发送线程上,不断侦听是否有连接请求。每当有连接请求,在未达到最高连接数目时,为每个连接请求创建连接线程。在连接线程中,根据参数,确实发送方式是stream?snapshot

2017-08-15 01:05:03

MJPG-streamer源码分析-输入部分

MJPG-streamer在进行相机采集开始前,需要对进行初始化过程input_init()函数的初始化过程概括如下:1、【定义和初始化变量】包括width=640, height=480, fps=5, format=V4L2_PIX_FMT_MJPEG,char *argv[MAX_ARGUMENTS]={NULL}, *dev = "/dev/video0",2、【初始化

2017-08-14 20:42:36

MJPG-streamer源码分析-主函数部分

MJPG-streamer是一个轻量级的视频服务器软件,一个可以从单一输入组件获取图像并传输到多个输出组件的命令行应用程序,可应用在基于IP协议的网络中,从网络摄像头中获取并传输JPEG格式的图像到浏览器MJPG-streamer的源码基本上可以分为main函数、输入插件和输出插件三部分。在源码包中,mjpg-streamer.c文件主要是完成全局变量的定义,解析输入参数,打印help信息,信

2017-08-14 19:30:52

大数字的加减乘法实现

两个数字的加减乘法,当数字大小超过了计算机内置类型所允许的范围,用字符串模拟加减乘法的过程来实现大数字的加减乘法,除法比较复杂,日后再补充; 加法:string aplus(string a, string b){ string res; int i = a.length() - 1, j = b.length() - 1, t1, t2, sum = 0; bool s

2017-08-04 14:57:07

【幸运数】求解过程

原题目: 小明同学学习了不同的进制之后,拿起了一些数字做起了游戏。小明同学知道,在日常生活中我们最常用的是十进制数,而在计算机中,二进制数也很常用。现在对于一个数字x,小明同学定义出了两个函数f(x)和g(x)。 f(x)表示把x这个数用十进制写出后各个数位上的数字之和。如f(123)=1+2+3=6。 g(x)表示把x这个数用二进制写出后各个数位上的数字之和。如123的二进制表示为1111011

2017-07-26 15:56:07

Ubuntu下安装WeChat

微信在Linux下没有客户端,这个对于使用Linux的人还是挺不方便的,就算可以使用网页版,但是使用起来还是没有客户端方便。摸索了许久,总算找到了一个可用的版本。安装过程如下:下载项目网址https://github.com/geeeeeeeeek/electronic-wechat/releases下载后将文件移动到/opt目录下sudo mv 下载/linux-ia32.t

2017-06-20 11:16:31

Maximum Subsequence Sum最大连续数列和

题目:对于一个有正有负的整数数组,找出总和最大的连续数列,包括其最大连续数列和,起始和终止位置下标给定一个int数组A和数组大小n,请返回最大的连续数列的和。保证n的大小小于等于3000。void MAXsum(vector data, int length){ int Cursum = 0, Maxsum = 0; int start = 0, end = 0; for

2017-04-28 16:15:21
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。