- 博客(31)
- 资源 (2)
- 收藏
- 关注
原创 QPainter的渐变
一、线性渐变 Q_UNUSED(event); QPainter painter; painter.begin(this); QLinearGradient ling(QPoint(0,0),QPoint(400,400));//参数1指定起始点,参数2指定结束点 ling.setColorAt(0,Qt::blue);//指定起点颜色 ling.setColorAt(1,Qt::green);//指定终点颜色 ling.setSpread(QGr
2020-10-20 09:45:46
1482
1
原创 QT-openGL学习-绘制平面图形
**步骤一:**pro文件中添加 LIBS += -L -llibfreeglut -lopengl32步骤二:新建一个类并继承opengl三:代码.h文件#ifndef MYOPENGLWIDGET_H#define MYOPENGLWIDGET_H#include <GL/gl.h>#include <GL/glu.h>#include<QOpenGLWidget>#include"QOpenGLFunctions"class MyO
2020-07-29 10:31:58
678
原创 QT文件操作-打开并读取文本
QString curpath=QDir::currentPath();//保存当前路径 QString dlgTitle="打开一个文件"; QString filter="程序文件(*.h *.cpp);;文本文件(*.txt);;所有文件(*.*)"; QString afilname=QFileDialog::getOpenFileName(this, dlgTitl..
2020-07-13 10:32:51
6078
原创 常用的字符串操作:sprintf、asprintf、mecmpy、
函数一:sprintf() :1、说明格式: *int sprintf( char *buffer, const char format, [ argument] )函数功能:将格式化后的数据写入数据缓冲区buffer参数1: buffer:存放格式化后的数据参数2:format:数据格式参数3:argument:待写入的数据返回值 :返回字符串长度2、用法示例 char* mybuffer=new char[10]; sprintf(mybuffer, "%s", "111");/
2020-07-11 11:36:20
2576
1
原创 QT-QcustomPlot之Item(四)
参考文章:https://segmentfault.com/a/1190000022114010一、QCustuomPlot的分层机制QCustomPlot的分层系统是控制图中元素渲染顺序的机制。最初,QCustomPlot有五个层:“background”、“grid”、“main”、“axes”和“legend”(按顺序)。最上面两层“轴”和“图例”包含默认轴和图例,因此它们将绘制在顶部。中间是“主”层。它最初为空并设置为当前层(请参见QCustomPlot::setCurrentLayer)。
2020-07-05 00:05:44
3750
1
原创 QT-Qcustom之动态曲线(三)
一:绘图样式初始化函数PlotInit()1、关于字体设置 QFont font; font.setStyleStrategy(QFont::NoAntialias);//设置字体样式 customPlot->xAxis->setTickLabelFont(font);//x轴字体设置 customPlot->yAxis->setTickLabelFont(font);//y轴字体设置 customPlot->legend-&
2020-07-04 12:35:30
1930
原创 QT-qcustomPlot之绘图基本操作(二)
一:背景色设置1、声明和定义绘图初始化函数,并在构造函数中调用qcustomPlot->setBackground(plotGradient);**setsetBackground(plotGradient)**中,setsetBackground函数是设置画图区的背景颜色,参数plotGradient是QLinearGradient类的实例化对象。而QLinearGradient是一个可设置线性渐变颜色的类。它的setStart(0, 0)方法用来设定渐变色的起点,setFinalSto
2020-07-04 01:48:38
2063
原创 QT-QcustomPlot之环境配置(一)
步骤一:****官网下载QcustomPlot,官网地址ttps://www.qcustomplot.com/**步骤二:**新建QT工程文件,**步骤三:**将官网下载好的文件下的qcustomplot.c和.h文件复制到当前工程目录下步骤四:右键项目->添加现有文件->添加当前工程目录下的qcustomplot.c和.h文件,此时工程目录更新如下图所示步骤五:在pro文件中添加下面一行代码`:greaterThan(QT_MAJOR_VERSION, 4): QT +=prin
2020-07-04 00:06:22
476
原创 c语言控制台游戏-FlapyBird(300行代码)
1、介绍:仿FlapBird的一个控制台小游戏(300行代码)2、操作说明中间那个小白色方块就是你自己,按空格键起飞。碰到管子扣除生命值,生命值归零时GAMEOVER.3、效果图4、代码//FlapBird#include <stdio.h>#include <cstring>#include <stdlib.h>#include <time.h>#include <conio.h>#include<Windows.
2020-06-07 22:53:44
1280
1
原创 c语言控制台小游戏-飞机大战(大概300行代码)
Tips1:运行的时候一定要全屏,不然就显示一部分Tips2:emm,有点小Bug哈哈,总体运行流畅*操作说明:键盘左右键控制方向,空格键发射子弹效果图:* ****1、开始界面**** *****2、游戏界面******[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w7OgIfeL-1591540248302)(在这里插
2020-06-07 22:42:50
7330
9
原创 Zigbee-cc2530按键控制流水灯实验(二)
I.原理:由于采用到按键控制流水灯,这里说明一下按键对应的电路图电阻R8\R9\R10为上拉电阻,当S0、S1、S2、按下时RST、P01、P13对应低电平,当断开时,由上拉电阻拉至高电平。所以P01、P13对应S1、S2的控制。这里要用到P1INP寄存器,此时若要使用S1开关,先使用P0DIR设置一个口(P0.7-P0.0)为输出端口,再用P1INP将其设置为上拉下拉功能。示例代码:...
2020-02-24 17:10:09
4787
原创 Zigbee-cc2530控制流水灯实验(一)
**I.原理介绍:**我买的板子型号是:MFIoT-Z-001,有四个LED,TI公司的一般有三个,不过都差不多。资料提供的二极管电路图如下:由于二极管的单向导通性质,即只有在正向电压(二极 管的正极接正,负极接负)下才能导通发光。所以P10,P11,P12,P13,分别对应低电平时,LED点亮。高电平时熄灭。相关寄存器表:稍微解释下:第一列为寄存器与寄存器对应的地址。P1寄存...
2020-02-24 16:41:14
4728
原创 Matlab——rand,randn,randi,randperm用法小结
I.rand用法 1、rand 产生一个0-1之间的数,服从均匀分布。
2020-02-20 16:46:04
2749
原创 基于PSO算法的Rssi测距定位
一:由Rssi定位(平面)建立模型MATLAB作图如下:附代码:Node_num为锚节点数,Node(i).x,Node(i).y为各个锚节点坐标,Zd(i)为Rssi测量距离[x,y]=meshgrid(1:0.5:100,1:0.5:100); z=0; for i=1:Node_num z=z+(sqrt((x-Node(i).x).^2+(y-Node(i).y).^2)-...
2020-02-20 02:28:42
1281
3
原创 堆,栈的理解
栈:栈就是一个装数据的桶,最先放进桶里的数据最后才能拿出来,最后放进桶里的数据最先拿出来。对于存储空间,栈就编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。函数就是一个堆栈。**堆:**就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操...
2020-02-19 16:12:12
123
原创 Zigbee学习(二)协调器程序
********************************************************************* 在协议栈中控制LED闪烁 协调器程序(Coordinator.c)*********************************************************************...
2020-02-19 14:52:34
3048
原创 Zigbee学习(一)
1、协议与协议栈:****协议***就是通信方之间共同的约定,以保证通信的成功事先定义好的一组通信规则(约定),例如:数据单元的格式,数据的内容及其表达的含义,通信开始、结束的标志。(可以理解为暗号,双方的口令对上即可通信)网络中的设备必须严格遵守通信协议,不然通信就无法实现。协议栈就是一组用程序代码实现的通信协议的库函数。即厂商为了通信方便编写的函数库,调用函数库中不同的函数可以实现不...
2020-02-18 16:29:15
599
原创 BFS(广度优先算法)学习
在写第一次写游戏的时候碰到一个问题:当enemy与角色之间存在障碍时,如何让enemy绕过障碍。结果发现BFS好像挺简单的,似乎能用下,。1、算法BFS(Breadth-First-Search)是最简便的图的搜索算法之一。算是一种盲目搜寻方法,目的是系统地搜寻地图上的所有点(也就是不考虑结果的可能位置),来寻找到想要的结果。BFS从起点开始,优先搜索距离起点最近的点,然后由这个最近的点开始...
2020-02-16 15:10:38
488
原创 Queue
queue(队列)是一种线性结构,类似栈。数据只允许在表的后端插入,表的前端进行删除。具有先进先出的性质。允许插入的一端称为队尾,允许删除的一端称为队首。队列的插入又叫“入队”,删除又叫“出队”。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200216133818688.png?x-oss-process=image/watermark,type_Z...
2020-02-16 13:49:19
142
原创 GetAsyncKeyState函数
SHORT GetAsyncKeyState(int vKey);GetAsyncKeyState()的返回值表示两个内容,一个是最高位bit的值,代表这个键是否被按下,一个是最低位bit的值,代表在上次调用GetAsyncKeyState()后,这个键是否被按下。应该是if(GetAsyncKeyState(VK_LSHIFT)&0x8000)例:若判断 回车键if(GetAs...
2020-01-14 10:42:57
15255
1
原创 无阻塞延时
作用:控制操作间隔,在此期间不能做任何事情用法:1、包含头文件time.h2、创建一个 clock_t 变量 a,初始化为 clock()。3、创建主循环 while(1)4、调用前用 clock() - a;调用完后判断:若clock() - a > delay,那么执行 func(),并把 a 重新赋值为 clock()...
2020-01-13 20:57:30
360
原创 十进制转二进制
void dex_to_bit(int N)//N为待输入十进制数{ int bit[20];//定义数组存储2进制数 int* bit_str=bit; int count = 0; while (N != 0) { *bit_str = N & 0x01; N = N >> 1; // 将该数不断左移1位 count++; bit_s...
2019-10-04 03:42:20
128
原创 C++求全排列
基于交换的原理,实现输出目标字符串的全排列。class sort_combine{private: char *str;public: sort_combine(); sort_combine(char *str); ~sort_combine(); void swap(int i); void sort(int k,int N);};```cpp#include "s...
2019-10-03 17:44:19
876
ZigBee开发软件.zip
2020-02-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人