- 博客(83)
- 资源 (8)
- 收藏
- 关注
原创 2.利用SDL显示视频
为了显示视频,我们使用SDL(SDL官方地址)。SDL是一款优秀的跨平台的多媒体类库,可以直接在窗口绘制图片(视频流)。本例中的视频流格式采用YCbCr。为了方便,许多人将YCbCr称为YUV。然而,YUV是模拟数据,YCbCr是数字数据。ffmpeg和SDL采用YCbCr格式。现在,我们使用SDL替代示例1中的saveFrame,将视频流直接输出到屏幕上。1.初始化SDL类...
2020-05-06 15:44:01
731
原创 网络状态检测
网络状态检测方式:1.ping;2.html get请求;3.使用平台底层函数;如windows:InternetGetConnectedState...注:任何网络检测方式都可能发生错误,即当前有网,但检测结果失败。所以,即使网络检测失败,也应该支持用户重新操作。最好的处理方式是软件直接进行业务逻辑,然后在异常发生时处理它们。参考链接:https://stack...
2020-04-21 16:35:26
786
原创 Qt缩放系数
Qt界面缩放由内部类QHighDpiScaling控制,应用程序可以通过设置全局变量影响Qt的整体缩放系数。Qt中影响缩放系数的全局宏变量有:QT_DEVICE_PIXEL_RATIO //不推荐使用,没有设置QT_SCALE_FACTOR时生效。QT_SCALE_FACTOR //全局缩放系数,多个屏幕用统一的缩放系数qputenv("QT_SCALE_FACTOR", "2"...
2020-01-08 15:31:44
4846
4
原创 Qt元对象系统(The Meta-Object System)
Qt元对象系统是Qt的核心部分,实现信号与槽函数的绑定及调用,保存对象运行时信息和动态属性。Qt元对象系统的实现依赖3部分:(1)继承自QObject(2)声明宏Q_OBJECT(3)使用moc编译(生成文件moc_xxx.h)QMetaObject: 元对象基类,包含元对象信息。 在运行时,继承自QObject的类可以使用QObject::m...
2020-01-06 15:14:06
259
原创 Layered Windows分层窗口
MSDN官方分层窗口解释:https://docs.microsoft.com/zh-cn/windows/win32/winmsg/window-features。窗口设置透明度后,Qt底层采用分层窗口实现窗口绘制。void QWindowsBackingStore::flush(QWindow *window, const QRegion ®ion, ...
2020-01-03 13:27:23
1163
转载 QT源码剖析之QSS样式表
1. "QApplication::setStyleSheet()"设置样式表: 1.创建新的样式表。 2.设置新的样式。void QApplication::setStyleSheet(const QString& styleSheet){ QApplicationPrivate::styleSheet = styleSheet; QStyleSh...
2019-12-13 10:22:39
982
翻译 Qt Style Sheets
Qt设置界面方式1.继承QStyle,实现自定义子类2.Qt Style Sheets(类似与HTML CSS)配置概览 QApplication::setStyleSheet设置应用程序的全部样式; QWidget::setStyleSheet设置特定QWidget或者其子类的样式。 Qt Style Sheets支持级联设置,比...
2019-12-11 17:28:24
631
翻译 Qt编写的软件(2019/12/11)
0–94K Video Downloader用途:允许从YouTube、Facebook、Vimeo和其他视频网站下载高质量的视频、播放列表、频道和字幕Qt版本:5.13.1.0是否开源:非开源qml:未使用qss样式:安装包未找见AAcetoneISO用途:管理图片开源qml:未使用界面:qt designerAdobe Photoshop Al...
2019-12-11 15:00:10
887
原创 Qt样式文件:qss
应用程序级别统一加载样式文件,影响软件的所有UI样式QFile styleSheet("filePath.qss"); //绝对路径 相对路径及资源路径if (!styleSheet.open(QIODevice::ReadOnly)) { return false;}qApp->setStyleSheet(styleSheet.readAll());一般Qt推荐...
2019-12-11 10:25:07
430
原创 示例1:打开视频流并生成PPM文件
基本音视频流的处理顺序:1).打开video.avi文件,读取video_stream.2).从video_stream读取packet,分离frame3).判断frame是否完整,若不完整,转到24).处理frame5).转到21.初始化ffmpeg 创建main.cpp,包含头文件并初始化ffmpeg。extern "C" //main.cp...
2019-12-09 14:59:43
826
原创 音视频概述
container: 音视频文件,包含视频、音频、字幕等一个或多个基本的数据流, 示例:视频(avi mp4 mkv flv rmvb mov等)音频(mp3 wav aac ape flac等)streams: 音频流(avdio)、视频流(video)、字幕流(subtitle)、数据流(data)、附件流()frames:代表一幅静止的图像 分I帧 P帧 B帧codec:编解码器...
2019-12-09 14:01:06
332
原创 ffmpeg简介
ffmpeg是一个处理音视频和多媒体数据的开源类库。ffmpeg实现了音视频中最困难的部分:编解码,封装与解封,让音视频软件的编写变得非常简单。ffmpeg能支持当前几乎所有的音视频编解码。ffplay是用ffmpeg和sdl编写的简单C程序。参考该程序,编制自己的简易播放器。sdl是一套开源的跨平台多媒体开发库。SDL说明开发环境ubuntu18.04.2ffmpeg版本:...
2019-12-09 13:37:09
940
原创 Qt捕获Windows消息
继承Qt的基类QAbstractNativeEventFilterclass HHNativeEventFilter : public QAbstractNativeEventFilter{protected: bool nativeEventFilter(const QByteArray &eventType, void *message, long *) {...
2019-12-06 15:57:18
1190
原创 编译ffmpeg
环境:Ubuntu18.04.21. git安装:sudo apt install git2.下载源码:git地址:git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg3.更新ubuntu sudo apt-get update4.安装gcc sudo apt intall gcc5.更新yasm sudo apt insta...
2019-12-06 09:36:55
106
原创 Ubuntu搭建LAMP环境
1.打开终端: a.sudo apt-get update b.sudo apt-get install apache2 c.sudo apt-get install php 默认安装的是7.2 d.sudo apt-get install libapache2-mod-php 安装时提示已安装 e.sudo apt-get install mysql-server-5...
2019-12-06 09:31:02
149
原创 二维码
git地址:https://github.com/zxing/zxing.gitQt地址:https://github.com/ftylitak/qzxing.gitQZXingEncoderConfig ZXingConfig;ZXingConfig.imageSize = QLabel::size();ZXingConfig.border = false;QPixmap:...
2019-11-26 13:21:17
220
1
原创 Qt常用控件(stylesheet)总结
QWidget对stylesheet支持,需要重载void paintEvent(QPaintEvent *event)void paintEvent(QPaintEvent *event){ QStyleOption styleOption; styleOption.initFrom(this); QPainter painter(this); style...
2019-11-26 11:26:28
758
原创 windows目录说明
C:\ProgramData系统用户共享目录。XP系统的共享目录是C:\Documents and Settings\All Users\Application Data。从Vista开始,共享目录变为ProgramData。当用户进入C:\Users\All Users时,系统自动进入ProgramData目录。C:\Users\[username]\AppData大多数软...
2019-04-25 17:02:14
983
原创 设计模式之备忘录模式Memento
保存一个对象的内部状态,在对象改变后,可以恢复到原先保存的状态。代码示例:class Originator{ private: string _state; public: void set(const string &state) { _state = state; cout << "Originator:Setting state to " << _st
2017-10-19 10:49:55
328
原创 设计模式之责任链Chain of Responsibility
将一种响应(请求)通过一条彼此关联的处理类处理。一般遵照由小到大的粒度。典型的例子:界面帮助请求
2017-09-26 10:01:46
286
原创 设计模式之适配器Adapter
将一个类接口封装成另一类接口。1.底层模块为上层模块提供接口,当底层模块改变时,不希望重新定义上层模块,在中间添加一层Adapter模块进行对接;2.不同的类适配到一个算法,例如:iterater
2017-09-26 09:44:56
242
原创 军用软件国家标准
GB_T 11457-2006 信息技术 软件工程术语SJ 20778-2000 软件开发与文档标准GJB 2786A-2009 军用软件开发通用要求GJB 438B-2009 军用软件开发文档通用要求GJB 4072A-2006 军用软件质量监督要求GJB 2434A-2004 军用软件产品评价GJB 1268A-2004 军用软件验收要求GJB 5880-2006
2017-04-18 16:31:09
10323
MISRA C++开发规范
2020-08-03
LayeredWindow.rar
2020-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人