C++学习
文章平均质量分 57
冯一川
如果理论和现实出现冲突的时候,我们一般认为理论错了。你好,我是冯一川,这是我最喜欢的一句话。
展开
-
Qt经验之实现一个多线程的串口接收类QSerialPort
在Qt的编程中,如果不是迫不得已的情况下,一般的我们不建议线程数多于3个。同时,我也不建议把串口接收的类封装为一个多线程的操作,因为串口和网络这些收发数据都是异步的,操作系统会调度,完全没必要再去封装为一个多线程。把接收到的数据需要计算的,耗时处理的扔到另一个线程里,这才是我们应该考虑的事情。但是,有时候,我们迫不得已在串口或者网口接收数据后立马做一些操作,所以也会采用多线程的串口类。在此,再次建议大家,不要把串口、网口这些接收的类封装到多线程中。.....................原创 2022-07-13 23:50:01 · 6443 阅读 · 11 评论 -
Qt 设置Widget背景图片并实现透明度的三种方式
一、场景在平常的开发过程中,我们常常会遇到需要设置Widget窗口背景图片透明度的方式。一般会有三种方式可以进行设置。二、方式一(使用图形遮罩功能SerMask函数)class BackGroundWidget01 : public QFrame{ Q_OBJECTpublic: BackGroundWidget01();};BackGroundWidget01::BackGroundWidget01(){ resize(800,600); QPix原创 2022-02-08 17:08:46 · 14105 阅读 · 2 评论 -
FFmpeg开发(十)——Qt 实现FFmpeg下载m3u8视频
FFmpeg开发(十)——Qt 实现FFmpeg下载m3u8视频之前的文章介绍了如何利用ffmpeg实现一个视频播放器,今天使用ffmpeg在Qt平台下实现下载m3u8视频。FFmpeg开发(四)——Qt实现一个视频播放器(参考了暴风影音、迅雷影音)FFmpeg开发(五)——Qt视频播放器之封装FFmpeg类(参考了暴风影音、迅雷影音)FFmpeg开发(六)——Qt视频播放器之封装音频类(参考了暴风影音、迅雷影音)FFmpeg开发(七)——Qt视频播放器之播放列表类(参考了暴风影音、迅雷原创 2021-11-20 23:16:55 · 2124 阅读 · 0 评论 -
FFmpeg开发(九)——Qt视频播放器之快进滑动条(参考了暴风影音、迅雷影音)
FFmpeg开发(九)——Qt视频播放器之快进滑动条(参考了暴风影音、迅雷影音)上一篇介绍了使用多线程FFmpeg开发(八)——Qt视频播放器之多线程的使用(参考了暴风影音、迅雷影音)本篇写一下滑动条的实现,播放快进滑动条和音量控制滑动条都是重写了QSlider类,主要就是对QSlider进行QSS美化。#include <QObject>#include <QWidget>#include <QSlider>#include <QMouse原创 2021-11-17 17:37:36 · 2869 阅读 · 0 评论 -
FFmpeg开发(八)——Qt视频播放器之多线程的使用(参考了暴风影音、迅雷影音)
FFmpeg开发(八)——Qt视频播放器之多线程的使用(参考了暴风影音、迅雷影音)我们知道Qt的界面主要是一个主线程,如果我们把解码的代码也在主界面类中实现的话,可能会导致主界面在播放视频的过程中出现卡顿的现象。所以我们一般会采用多线程的方式使用。本文原创作者:冯一川(ifeng12358@163.com),未经作者授权同意,请勿转载。...原创 2021-11-17 17:25:54 · 3857 阅读 · 0 评论 -
FFmpeg开发(六)——Qt视频播放器之封装音频类(参考了暴风影音、迅雷影音)
FFmpeg开发(六)——Qt视频播放器之封装音频类(参考了暴风影音、迅雷影音)上一篇介绍了,封装FFmpeg类。本篇介绍封装音频类。本文原创作者:冯一川(ifeng12358@163.com),未经作者授权同意,请勿转载。...原创 2021-11-17 12:45:33 · 1155 阅读 · 1 评论 -
FFmpeg开发(七)——Qt视频播放器之播放列表类(参考了暴风影音、迅雷影音)
FFmpeg开发(七)——Qt视频播放器之播放列表类(参考了暴风影音、迅雷影音)上一篇分享了音频类的封装。本篇分享实现视频播放器的播放列表。播放列表主要内容就是一个QTableWidget实现的。 m_pTableWidget = new QTableWidget(); m_pTableWidget->setObjectName("TableWidget"); QHeaderView *hHeader = m_pTableWidget->horiz原创 2021-11-17 12:48:04 · 1789 阅读 · 1 评论 -
FFmpeg开发(五)——Qt视频播放器之封装FFmpeg类(参考了暴风影音、迅雷影音)
FFmpeg开发(五)——Qt视频播放器之封装FFmpeg类(参考了暴风影音、迅雷影音)上一篇介绍了,使用Qt和FFmpeg写的播放器。页面大家可以点进去查看和下载。本篇分享一下,封装的FFmpeg类,因为使用的是Qt,所以就按照C++的方式进行了封装。构造函数:FFmpeg::FFmpeg(){ initData();}初始化信息:void FFmpeg::initData(){ m_errorBuff[0] = '\0'; av_regi原创 2021-11-17 11:03:28 · 1936 阅读 · 1 评论 -
FFmpeg开发(四)——Qt实现一个视频播放器(参考了暴风影音、迅雷影音)
FFmpeg开发(四)——Qt实现一个视频播放器(参考了暴风影音、迅雷影音)前几篇介绍了:FFmpeg开发(一)一Qt Creator配置FFmpegFFmpeg开发(二)——(FFmpeg基础知识介绍)在前几篇的基础上,写了一个视频播放器。参考了暴风影音和迅雷影音。开发工具:Qt 5.8.0FFmpeg版本:4.2.1.操作系统:Windows 10先来几张播放器的图片:由于版权问题,只是参考了暴风影音和迅雷影音的界面布局,并没有做成一样....原创 2021-11-17 11:00:27 · 16137 阅读 · 2 评论 -
Linux系统下,Qt的float型数据大小端转换
定义一个联合体:(在我使用的Linux系统下,我测试的float型数据大小占4个字节)union UnionIntFloat{ int m_i32; float m_f32;};然后,使用函数进行转换:int swapInt32(int value){ return ((value & 0x000000FF) << 24) | ((value & 0x0000FF00) << 8) | ...原创 2022-01-12 17:51:21 · 2038 阅读 · 0 评论 -
FFmpeg开发(二)——(FFmpeg基础知识介绍)
FFmpeg开发——(FFmpeg基础知识介绍)一、原创 2020-04-09 13:37:49 · 1612 阅读 · 1 评论 -
FFmpeg开发(一)一Qt Creator配置FFmpeg
Qt Creator配置FFmpeg一、FFmpeg介绍FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcode...原创 2020-04-07 15:39:48 · 3000 阅读 · 4 评论 -
Qt-echarts的使用
一、原创 2020-03-13 17:05:36 · 694 阅读 · 0 评论 -
C++ 头文件 #F0101
#include包含头文件带 .h 和不带 .h 的区别如果使用的是新的C++标准库,不加 .h。例如#include <iostream>如果是旧的C++库,很抱歉现在已经不支持了此外C++可以兼容使用C语言的库,这里有两种情况。——第一种是仍旧使用原来C语言的库,可以加 .h,如#include<string.h>——第二种是对C的库改进成C++的库,不加.h...原创 2019-01-04 23:20:42 · 144 阅读 · 0 评论 -
C++指针 #F0110
指针的概念指针其实就是存有地址的变量,就和其他变量一样,他也有着自己的类型,唯一的区别就是,他在定义时需要加一个*号,就比如这样,int *p, 在32位的编译器下,指针都是4个字节。指针身为变量,当然也可以进行正常的加减,但是它与普通变量的运算不同的是,指针的加减所加所减的是指针所指向的类型。 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针...转载 2019-01-04 22:32:14 · 173 阅读 · 0 评论 -
linux 下Qt初级教程(一)实现简易的计算器
Qt初级教程(一)实现简易的计算器本文原创作者:冯一川(ifeng12358@163.com),如有转载,请注明原作者及出处。本文软件环境linux(Ubuntu)+Qt 5.6.0。源代码github地址:Linux下的简易计算器(Qt)本文使用的技术点有:1、信号和槽的使用,包括(emit)的使用;2、字符串的处理,QString函数;3、QLabel的边框设...原创 2016-11-10 13:59:35 · 9503 阅读 · 2 评论 -
Linux系统,在图形界面下,设置开机启动程序:如客户端程序(脚本)。
点击“Add”按钮,弹出如下对话框,在对话框中,输入要打开的程序(或脚本)的路径,图中是以fiefox为例,没有写路径。添加完成之后,重启就可以啦。原创 2016-11-04 15:16:07 · 2443 阅读 · 0 评论