自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(170)
  • 资源 (17)
  • 收藏
  • 关注

原创 QGraphicsView中文使用手册

QGraphicsView中文使用手册

2021-07-18 16:02:55 574 1

原创 在浏览器中使用VS Code查看Github仓库中的代码

在浏览器中使用VS Code查看Github仓库中的代码

2021-05-30 16:08:25 742

原创 使用Qt制作二维码生成器

使用Qt制作二维码生成器

2021-05-30 16:07:11 556

原创 Qt实现多种程序启动动画/加载等待动画

Qt实现多种程序启动动画/加载等待动画

2021-05-30 16:06:10 1246 1

原创 Qt中调用Python,实现基础功能、绘图、界面实现和图片爬虫

Qt中调用Python,实现基础功能、绘图、界面实现和图片爬虫

2021-05-30 16:04:52 576

原创 QT调用ECharts绘制各种2D、3D图表

QT调用ECharts绘制各种2D、3D图表

2021-05-30 16:02:18 883 1

原创 Qt实现简单的Http服务器

Qt实现简单的Http服务器

2021-05-30 16:00:18 2162 1

原创 使用VLC-QT开源库开发流媒体播放器

使用VLC-QT开源库开发流媒体播放器

2021-05-30 15:56:59 336

转载 FFmpeg 内容介绍 音视频解码和播放

前言FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。FFmpeg本身是跨平台的,支持多个平台。在我们常见的音视频文件(mp3,mp4, flv, flac, mkv, avi等)都是一种压缩过的封装格式文件。封装格式的主要作用是把视频码流和音频码流按照一定的格式存储在一个文件中。为什么要进行视频压缩? ● 未经压缩的数字视频的数据量巨大 ● 存储困难 ○ 一G只能存储几秒钟的未压

2021-03-22 23:10:05 1039

原创 FFmpeg进行音频的解码和播放

音频编码音频数字化主要有压缩与非压缩(pcm)两种方式。非压缩编码(PCM)PCM音频编码 PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。 当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的2.56~4倍;采样定理又称奈奎斯特定理。 PCM信号未经过任何编码和压缩处理, 声音之所以能够数字化,是因为人耳所能听到的声音频率不是无限宽的,主要在20k

2021-03-22 22:54:45 1951 1

原创 23种设计模式实例详解

由于最开始不是在CSDN上面发布的,也不想在复制粘贴一般,就直接上地址吧。设计模式01-Template Method(模板方法)模式-按套路做事https://www.toutiao.com/i6853339756211175950/设计模式02-Strategy(策略)模式-我也能懂车https://www.toutiao.com/i6853403762942280196/设计模式03-Observer(观察者)模式-公众号订阅https://www.touti...

2020-08-02 18:00:01 248

原创 通配符匹配实现方法

给定一个字符串(s) 和一个字符模式(p) ,实现一个支持'?'和'*'的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。s可能为空,且只包含从a-z的小写字母。 p可能为空,且只包含从a-z的小写字母,以及字符?和*。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/wildcard-matchingclass Solution {public: boo...

2020-07-01 23:30:17 1348

原创 inet_aton、inet_addr、inet_ntoa、inet_pton、inet_ntop

inet_aton、inet_addr、inet_ntoa这3个函数是在点分十进制数串(例如“192.168.1.1”)与它长度为32位的网络字节序二进制值间转换IPV4地址。两个较新的函数inet_pton、inet_ntop对于IPV4地址和IPV6地址都适用。int inet_aton(const char *strptr, struct in_addr *addrptr);/** 功能:strptr所指向的C字符串转换成一个32位的网络字节序二进制值,并通过指针addrptr来存储。

2020-06-30 23:36:33 642

原创 QT分别实现Windows和Linux下开机自启动的方法

本文介绍的开机自启动方法在Windows、Linux-x86、Linux-arm、Linux-mips等平台都测试运行正常 首先无论是Windows还是Linux平台下想要在QT程序中打开/关闭开机自启动,都要以管理员身份运行程序才行,Windows下就是右击程序,然后选择以管理员身份运行即可,Linux下就以sudo ./AppName命令启动程序 Windows:Windows下开机自启动的方法就是写或删除注册表打开开机自启动:QString appName = QApp..

2020-06-04 22:21:05 1232

原创 C++ STL stack用法

构造template <class T, class Container = deque<T>> class stack;如上,这对尖括号中有两个参数,第一个是T,表示栈中存放的数据的类型,比如int,double,或者结构体之类。第二个参数指明底层实现的容器类型,也就是指明这个栈的内部实现方式,比如vector,deque,list。如果不指明它,默认使用deque(双端队列)。当然一般情况下不需要指定这一项参数。// 构造 stacks#include &l

2020-06-01 23:06:06 249

转载 calloc、malloc、realloc函数的区别及用法

三者都是分配内存,都是stdlib.h库里的函数,但是也存在一些差异。(1)malloc函数。其原型void *malloc(unsigned int num_bytes);num_byte为要申请的空间大小,需要我们手动的去计算,如int *p = (int *)malloc(20*sizeof(int)),如果编译器默认int为4字节存储的话,那么计算结果是80Byte,一次申请一个80Byte的连续空间,并将空间基地址强制转换为int类型,赋值给指针p,此时申请的内存值是不确定的。(2)ca

2020-05-15 23:16:09 204

原创 qt编译提示 error: undefined reference to `WinMain@16' 的解决办法

在pro文件中添加下面这一行参数重新编译即可:win32:QMAKE_LFLAGS += -shared

2020-05-10 11:31:00 4302

原创 linux批量修改文件时间

批量修改为当前系统时间:touch `find ./* -name '*'`批量修改为指定时间:touch -t 202003120811.45 `find ./* -name '*'`时间格式是 YYYYMMDDhhmm.ss

2020-04-04 13:37:26 2188

原创 Centos怎么安装 g++

Centos使用yum安装gcc方法一:yum-yinstallgccyum-yinstallgcc-c++yuminstallmake方法二:yumgroupinstall"DevelopmentTools"方法三:yuminstallgccgcc-c++kernel-devel...

2020-04-04 13:19:29 620

原创 Linux下重启网卡出现错误:Failed to restart network.service: Unit network.service not found.

1、可以尝试使用以下命令:service network-manager restart2、如果是 Kali Linux(Debian),则需要用以下命令:service networking restart3、如果是Centos 8,则需要用以下命令:nmcli c reload...

2020-04-04 13:00:14 8173 3

原创 合并两个有序链表

示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4方法一:递归法struct ListNode{ int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};ListNode* mergeTwo...

2020-03-29 11:51:24 81

原创 检测括号是否匹配

给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。算法:初始化栈 S。 一次处理表达式的每个括号。 如果遇到开括号,我们只需将其推到栈上即可。这意味着我们将稍后处理它。 如果我们遇到一个闭括号,那么我们检查栈顶的...

2020-03-27 22:46:33 1213

原创 查找字符串数组中的最长公共前缀

string longestCommonPrefix(vector<string>& strs){ if(strs.size() == 0) return ""; if(strs.size() == 1) return strs[0]; int len = strs.size(), min_val = INT_MAX;...

2020-03-25 23:00:22 1159

原创 32 位的有符号整数反转

123 -- 321-123 -- -321int reverse(int x) { if(x/10 == 0) return x; //平凡情况:若x∈[-9,9],则直接返回其本身 int y = 0; while(x) { if(y > INT_MAX/10 || y < INT_MIN/10) //...

2020-03-23 22:45:05 520

原创 判断一个正整数是不是完全平方数

我自己的解法,利用二分法:bool isPerfectSquare(int num){ if(num == 1) return true; int start = 2; int end = num; int mid; while(start <= end) { mid = start + (end -...

2020-03-22 21:51:03 2591 2

原创 二分法查找

int search(vector<int>& nums, int target){ if(nums.size() == 0) return -1; int left = 0; int right = nums.size() - 1; int mid; while(left <= right) { ...

2020-03-22 20:37:09 106

原创 使用位运算进行加法运算

int getSum(int a, int b){ if(a == 0) return b; if(b == 0) return a; int lower; //低位 int carrier; //进位 while(true) { lower = a ^ b; //计算低位,即无进位的加法的结果...

2020-03-22 17:06:59 818 1

原创 int类型的数字转换为十六进制数

string toHex(int num){ if(num == 0) return "0"; string res = ""; string hex[16] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "...

2020-03-22 14:59:08 12326

原创 给unsigned int类型的变量赋值负数会怎么样?

#include<iostream>using namespace std;int main(){ unsigned int a = -1; cout << a << endl; return 0; }// a=-1,输出为:4294967295// a=-2,输出为:4294967294// a=-3,输...

2020-03-22 14:28:15 9687 1

原创 Qt多个ui界面的使用实例

首先添加ui文件,右键项目名--添加新文件----Qt----Qt Designer Form 在新加的ui文件中添加自己需要的控件 编译一下项目,在工程文件下回生成一个ui_XXXXX.h格式的头文件 给新建的ui文件添加类,右键项目名--添加新文件----C++----C++ Class,类的内容大体如下: //test.h#ifndef TEST_H#define TEST_...

2019-09-28 18:29:37 5141

原创 QT编译时出现:error: cannot open C:\Users\AppData\Local\Temp\main.obj.5136.0.jom for write

C:\Users\AppData\Local\Temp\这个目录是系统的临时文件目录。点击 工具->选项->构建和运行,取消选中“使用jom代替nmake”,重新编译即可

2019-09-28 12:07:26 5397 2

原创 TCP连接建立(三路握手)和终止

TCP连接建立:建立一个TCP连接时会发生下述情形:服务器必须准备好接受外来的连接。这通常通过调用soket、bind和listen这3个函数来完成,我们称之为被动打开。 客户端通过调用connect发起主动打开。这导致客户TCP发送一个SYN(同步)分节,它告诉服务器客户将在(待建立的)连接中发送的数据的初始化序列号。通常SYN分节不携带数据,其所在IP数据报只含有一个IP首部、一个T...

2019-09-07 16:37:58 262

原创 Qt设置弹出窗口居中显示

方法一:在窗口(QWidget类及派生类)的构造函数中添加如下代码:#include <QDesktopWidget>QDesktopWidget* desktop = QApplication::desktop(); // =qApp->desktop();也可以move((desktop->width() - this->width())/2, (de...

2019-09-04 21:56:58 3695

转载 QT中eventFilter的使用方法

Installing Event FiltersQT事件模块一个真正强大的特性是可以设置一个QObject的实例去监测另外一个QObject实例的事件,在被监测的实例see之前.假设我们有一个CustomerInfoDialog这样的widget, 它由几个QLineEdit组成.我们想用Spacer键来转变focus到下一个QLineEdit.这个非标准的行为可能对一个内部的程序很合适,...

2019-08-22 23:11:17 1155

原创 UDP、TCP特性

UDP: 用户数据报协议UDP是一个简单的传输层协议。 应用进程往一个UDP套接字写入一个消息,该消息随后被封装到一个UDP数据报,该UDP数据报进而又被封装到一个IP数据报,然后发送到目的地。 UDP不保证UDP数据报能到达其最终目的地,不保证各个数据报的先后顺序跨网络后保持不变,也不保证每个数据报只到达一次。 每个UDP数据报都有一个长度,如果一个数据报正确地到达其目的地,那么该数据...

2019-08-18 23:06:21 350

原创 OSI模型

OSI模型全称开放系统互联模型,是一个七层模型。 OSI模型 网际协议族 7 应用层 应用层 6 表示层 5 会话层 4 传输层 TCP UDP 3 网络层 IPv4、IPv6 2 数据链路层 设备驱动程序和硬件 1...

2019-08-13 23:30:27 419

原创 snprintf函数和sprintf函数的区别

sprintf函数无法检查目的缓冲区是否溢出,相反,snprintf函数要求第二个参数指定目的缓冲区的大小,因此可以确保该缓冲区不溢出。char buff[20];memset(buff, 0, 20);char *szTemp = "Hello World";snprintf(buff, sizeof(buff), "%s", szTemp);...

2019-08-11 17:16:03 1332

原创 创建套接字的各函数详解

1. socket函数:创建套接字int sockfd;if(sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0){ printf("socket error");}/*socket函数创建一个网际(AF_INET)字节流(SOCK_STREAM)套接字,它是TCP套接字的花哨名字。该函数返回一个小整数描述符,以后所有的函数...

2019-08-07 23:39:03 2401

原创 C语言中常数和常量的区别

严格的说,C语言中用#define伪命令定义的对象称为常数,用const限定词定义并初始化的对象称为常量(相对于变量而言)。常数的值在编译时确定,常量的值则在运行时初始化后确定(不过此后只能作为右值使用)。...

2019-08-07 22:50:58 2628

原创 Linux下stricmp在此作用域中尚未声明解决办法

在使用大小写不敏感函数比较字符串时,很顺手的来了个stricmp,g++编译的时候:错误:‘stricmp’在此作用域中尚未声明。后来查了一下,stricmp是windows特有的。而linux是strcasecmp,包含在头文件string.h下。问题解决了...

2019-08-06 23:27:16 3229

几千个rtsp、rtmp测试直播源

几千个rtsp、rtmp测试直播源

2022-03-01

qBreadpad.rar

qBreadpad源码及使用示例

2021-11-24

文档密码移除工具.rar

文档密码移除工具

2021-11-23

ActualInstaller.zip

程序安装包制作程序

2021-11-22

QSV格式转换器.rar

QSV格式转MP4

2021-11-15

kux转mp4.rar

kux格式的视频转mp4格式的视频

2021-11-03

Tinyxml2Demo.zip

Tinyxml2源码及使用Qt编写的详细示例demo,包括增删该查等操作

2021-08-25

可编辑的pdf阅读器.zip

可编辑的pdf阅读器

2021-08-24

Microsoft Visual C++ 2015-2019 Redistributable.zip

Microsoft Visual C++ 2015-2019 Redistributable.zip

2021-08-02

shell工具(免安装版可直接使用).zip

shell工具(免安装版可直接使用).zip

2021-08-02

FTP工具(免安装版可直接使用).zip

FTP工具(免安装版可直接使用).zip

2021-08-02

CRTubeGet.zip

CR TubeGet是一款功能强大的视频下载工具,软件支持视频URL、文本文件拖放下载,支持剪切板视频URL监测功能,支持1000+站点视频下载,是一款非常优秀的软件

2021-07-20

VLC-QT Win-VS2017-x64版本.rar

VLC-QT Win-VS2017-x64版本

2021-05-30

Microsoft.Visual.C++.2013.Redistributable.Package.x64.x86.rar

Microsoft.Visual.C++.2013

2021-04-20

BCGCBarProMFC25.zip

BCGCBarProMFC25.zip

2021-03-24

VisualStudioUninstaller.rar

微软官方提供的VS2013/2015/2017完全卸载工具

2021-03-12

Win64OpenSSL-1_1_1j.exe

Windows64位 openssl安装包

2021-03-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除