新春快乐(烟花、春联)【附源码】

新春快乐

  • 一: `C语言` -- 烟花
  • 二:`Python` -- 春联
  • 三:`Python` -- 烟花
  • 四:`HTML` -- 烟花

一: C语言 – 烟花

运行效果:
在这里插入图片描述
在这里插入图片描述

#include <graphics.h>
#include <math.h>
#include <time.h>
#include <stdio.h>#define MAXNUM 15
#define WIDTH 640
#define HEIGHT 480
#define PI 3.1415926struct Fire
{int nowx;int nowy;int endy;int radio;int explode;int rgb[3];COLORREF color;
}fire[MAXNUM];void Init()
{for (int i = 0; i < MAXNUM; i++){fire[i].nowx = rand() % WIDTH;fire[i].nowy = HEIGHT + rand() % 250 + 50;fire[i].endy = rand() % 100 + 10;fire[i].radio = rand() % 50 + 120;fire[i].explode = 0;int c[][3] = { {255, 0, 0}, {210, 190, 255}, {255, 120, 0}, {255, 0, 150}, {255, 240, 100}, {10, 255, 255}, {160, 10, 255}, {255, 200, 60} };int n = rand() % 8;fire[i].color = RGB(c[n][0], c[n][1], c[n][2]);fire[i].rgb[0] = c[n][0];fire[i].rgb[1] = c[n][1];fire[i].rgb[2] = c[n][2];}
}void Draw()
{for (int i = 0; i < MAXNUM; i++){if (fire[i].nowy > fire[i].endy){for (int size = 5; size > 0; size--){int temp[] = { fire[i].rgb[0], fire[i].rgb[1], fire[i].rgb[2] };for (int k = 0; k < 3; k++){temp[k] += 50 * (5 - size);if (temp[k] > 255) temp[k] = 255;}setfillcolor(RGB(temp[0], temp[1], temp[2]));solidcircle(fire[i].nowx, fire[i].nowy + 15 * (10 - size), size);}}else{for (int a = 0; a < 360; a += 30){for (int size = 5; size > 0; size--){int x = cos(a * PI / 180.0) * (fire[i].explode + size * 10) + fire[i].nowx;int y = sin(a * PI / 180.0) * (fire[i].explode + size * 10) + fire[i].nowy + fire[i].radio / 2;int temp[] = { fire[i].rgb[0], fire[i].rgb[1], fire[i].rgb[2] };for (int k = 0; k < 3; k++){temp[k] += 50 * (5 - size);if (temp[k] > 255) temp[k] = 255;}setfillcolor(RGB(temp[0], temp[1], temp[2]));solidcircle(x, y + (HEIGHT - y) * 0.1 + size * (size - 2), size);}}}}
}void Move()
{for (int i = 0; i < MAXNUM; i++){if (fire[i].nowy > fire[i].endy){fire[i].nowy -= 3;}else{if (fire[i].explode >= fire[i].radio){fire[i].nowx = rand() % WIDTH;fire[i].nowy = HEIGHT + rand() % 250 + 50;fire[i].endy = rand() % 100 + 10;fire[i].radio = rand() % 50 + 120;fire[i].explode = 0;int c[][3] = { {255, 0, 0}, {210, 190, 255}, {255, 120, 0}, {255, 0, 150}, {255, 240, 100}, {10, 255, 255}, {160, 10, 255}, {255, 200, 60} };int n = rand() % 8;fire[i].color = RGB(c[n][0], c[n][1], c[n][2]);fire[i].rgb[0] = c[n][0];fire[i].rgb[1] = c[n][1];fire[i].rgb[2] = c[n][2];}else fire[i].explode++;}}
}int main()
{srand(time(NULL));initgraph(640, 480);Init();BeginBatchDraw();while (true){cleardevice();Draw();Move();FlushBatchDraw();Sleep(2);}EndBatchDraw();closegraph();return 0;
}

二:Python – 春联

运行效果:
在这里插入图片描述

from distutils.core import setup
from turtle import *
bgcolor("#FFFF00")
pensize(5)
setup(1000, 1000)
update()
fillcolor("red")
pencolor("firebrick2")pu()
goto(-330, 250)
seth(0)
pd()begin_fill()
for i in range(2):fd(360)left(90)fd(100)left(90)
end_fill()pencolor("black")
pu()texts = ["常", "乐", "安", "宁"]
for text in texts:fd(72)write(text, align="center", font=("华文行楷", 60, "normal"))pencolor("firebrick2")goto(-380, 200)
seth(180)
pd()begin_fill()
for i in range(2):fd(100)left(90)fd(560)left(90)
end_fill()pu()
goto(-430, 200)
pencolor("black")
seth(-90)texts = "常怀欣喜心常乐"
for text in texts:fd(80)write(text, align="center", font=("华文行楷", 60, "normal"))pencolor("firebrick2")
goto(180, 200)
seth(180)
pd()begin_fill()
for i in range(2):fd(100)left(90)fd(560)left(90)
end_fill()pu()
goto(130, 200)
pencolor("black")
seth(-90)texts = "欣悦四季心安宁"
for text in texts:fd(80)write(text, align="center", font=("华文行楷", 60, "normal"))
ht()
done()

三:Python – 烟花

运行效果:
在这里插入图片描述
在这里插入图片描述

import pygame
from random import randint
from random import uniform
from random import choice
import  math
vector = pygame.math.Vector2
# 重力变量
gravity = vector(0, 0.3)
# 控制窗口的大小
DISPLAY_WIDTH = DISPLAY_HEIGHT = 800# 颜色选项
trail_colours = [(45, 45, 45), (60, 60, 60), (75, 75, 75), (125, 125, 125), (150, 150, 150)]
dynamic_offset = 1
static_offset = 3
class Firework:def __init__(self):# 随机颜色self.colour = (randint(0, 255), randint(0, 255), randint(0, 255))self.colours = ((randint(0, 255), randint(0, 255), randint(0, 255)),(randint(0, 255), randint(0, 255), randint(0, 255)),(randint(0, 255), randint(0, 255), randint(0, 255)))self.firework = Particle(randint(0, DISPLAY_WIDTH), DISPLAY_HEIGHT, True,self.colour)  self.exploded = Falseself.particles = []self.min_max_particles = vector(100, 225)def update(self, win):  # 每帧调用if not self.exploded:self.firework.apply_force(gravity)self.firework.move()for tf in self.firework.trails:tf.show(win)self.show(win)if self.firework.vel.y >= 0:self.exploded = Trueself.explode()else:for particle in self.particles:particle.apply_force(vector(gravity.x + uniform(-1, 1) / 20, gravity.y / 2 + (randint(1, 8) / 100)))particle.move()for t in particle.trails:t.show(win)particle.show(win)def explode(self):# amount 数量amount = randint(self.min_max_particles.x, self.min_max_particles.y)for i in range(amount):self.particles.append(Particle(self.firework.pos.x, self.firework.pos.y, False, self.colours))def show(self, win):pygame.draw.circle(win, self.colour, (int(self.firework.pos.x), int(self.firework.pos.y)), self.firework.size)def remove(self):if self.exploded:for p in self.particles:if p.remove is True:self.particles.remove(p)if len(self.particles) == 0:return Trueelse:return Falseclass Particle:def __init__(self, x, y, firework, colour):self.firework = fireworkself.pos = vector(x, y)self.origin = vector(x, y)self.radius = 20self.remove = Falseself.explosion_radius = randint(5, 18)self.life = 0self.acc = vector(0, 0)self.trails = []  self.prev_posx = [-10] * 10  self.prev_posy = [-10] * 10  if self.firework:self.vel = vector(0, -randint(17, 20))self.size = 5self.colour = colourfor i in range(5):self.trails.append(Trail(i, self.size, True))else:self.vel = vector(uniform(-1, 1), uniform(-1, 1))self.vel.x *= randint(7, self.explosion_radius + 2)self.vel.y *= randint(7, self.explosion_radius + 2)# 向量self.size = randint(2, 4)self.colour = choice(colour)# 5 个 tails总计for i in range(5):self.trails.append(Trail(i, self.size, False))def apply_force(self, force):self.acc += forcedef move(self):if not self.firework:self.vel.x *= 0.8self.vel.y *= 0.8self.vel += self.accself.pos += self.velself.acc *= 0if self.life == 0 and not self.firework:  # 检查粒子的爆炸范围distance = math.sqrt((self.pos.x - self.origin.x) ** 2 + (self.pos.y - self.origin.y) ** 2)if distance > self.explosion_radius:self.remove = Trueself.decay()self.trail_update()self.life += 1def show(self, win):pygame.draw.circle(win, (self.colour[0], self.colour[1], self.colour[2], 0), (int(self.pos.x), int(self.pos.y)),self.size)def decay(self):  # random decay of the particlesif 50 > self.life > 10:  # early stage their is a small chance of decayran = randint(0, 30)if ran == 0:self.remove = Trueelif self.life > 50:ran = randint(0, 5)if ran == 0:self.remove = Truedef trail_update(self):self.prev_posx.pop()self.prev_posx.insert(0, int(self.pos.x))self.prev_posy.pop()self.prev_posy.insert(0, int(self.pos.y))for n, t in enumerate(self.trails):if t.dynamic:t.get_pos(self.prev_posx[n + dynamic_offset], self.prev_posy[n + dynamic_offset])else:t.get_pos(self.prev_posx[n + static_offset], self.prev_posy[n + static_offset])
class Trail:def __init__(self, n, size, dynamic):self.pos_in_line = nself.pos = vector(-10, -10)self.dynamic = dynamicif self.dynamic:self.colour = trail_colours[n]self.size = int(size - n / 2)else:self.colour = (255, 255, 200)self.size = size - 2if self.size < 0:self.size = 0def get_pos(self, x, y):self.pos = vector(x, y)def show(self, win):pygame.draw.circle(win, self.colour, (int(self.pos.x), int(self.pos.y)), self.size)def update(win, fireworks):for fw in fireworks:fw.update(win)if fw.remove():fireworks.remove(fw)pygame.display.update()def main():pygame.init()pygame.font.init()pygame.display.set_caption("祝您新年快乐")  # 标题background = pygame.image.load("./5.png")  # 背景sound_wav = pygame.mixer.music.load("2.mp3")pygame.mixer.music.play()pygame.init()
# 加载背景音乐
'''pygame.mixer.music.load("./res/音乐文件名")
# 循环播放背景音乐
pygame.mixer.music.play(-1)
# 停止背景音乐
pygame.mixer.music.stop()
# 加载音效
boom_sound = pygame.mixer.Sound("./res/音效名")
# 播放音效
boom_sound.play()
boom_sound.stop()
myfont = pygame.font.Font("simkai.TTF", 80)
myfont1 = pygame.font.Font("simkai.ttf", 30)
testsurface = myfont.render("虎虎生威", False, (0, 0, 0), (220, 20, 60))
testsurface1 = myfont1.render("", False, (251, 59, 85))'''win = pygame.display.set_mode((DISPLAY_WIDTH, DISPLAY_HEIGHT))
clock = pygame.time.Clock()fireworks = [Firework() for i in range(2)]  
running = Truewhile running:clock.tick(60)for event in pygame.event.get():if event.type == pygame.QUIT:running = Falseif event.type == pygame.KEYDOWN:if event.key == pygame.K_1:  # 按下 1fireworks.append(Firework())if event.key == pygame.K_2:  # 按下 2 加入10个烟花for i in range(10):fireworks.append(Firework())if event.key == pygame.K_3:  # 按下 3 加入100个烟花for i in range(100):fireworks.append(Firework())win.fill((20, 20, 30))  if randint(0, 20) == 1:  # 创建新的烟花fireworks.append(Firework())update(win, fireworks)
pygame.quit()
quit()if __name__ == 'main':main()

四:HTML – 烟花

运行效果:
在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html dir="ltr" lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<title>夜空烟花</title><script type="text/javascript" src="http://g.huceo.com/weixin/qw/jquery.min.js"></script><script type="text/javascript"></script>
<style>
body {background: #000;margin: 0;
}canvas {cursor: crosshair;display: block;
}
.STYLE1 {color: #333333}
</style>
</head>
<div style="text-align:center;clear:both"></div>
<canvas id="canvas"><span class="STYLE1">Open IE effect more perfect </span></canvas>
<script>
window.requestAnimFrame = ( function() {return window.requestAnimationFrame ||window.webkitRequestAnimationFrame ||window.mozRequestAnimationFrame ||function( callback ) {window.setTimeout( callback, 1000 / 60 );};
})();var canvas = document.getElementById( 'canvas' ),ctx = canvas.getContext( '2d' ),cw = window.innerWidth,ch = window.innerHeight,fireworks = [],particles = [],hue = 120,limiterTotal = 5,limiterTick = 0,timerTotal = 80,timerTick = 0,mousedown = false,mx,my;canvas.width = cw;
canvas.height = ch;function random( min, max ) {return Math.random() * ( max - min ) + min;
}function calculateDistance( p1x, p1y, p2x, p2y ) {var xDistance = p1x - p2x,yDistance = p1y - p2y;return Math.sqrt( Math.pow( xDistance, 2 ) + Math.pow( yDistance, 2 ) );
}function Firework( sx, sy, tx, ty ) {this.x = sx;this.y = sy;this.sx = sx;this.sy = sy;this.tx = tx;this.ty = ty;this.distanceToTarget = calculateDistance( sx, sy, tx, ty );this.distanceTraveled = 0;this.coordinates = [];this.coordinateCount = 3;while( this.coordinateCount-- ) {this.coordinates.push( [ this.x, this.y ] );}this.angle = Math.atan2( ty - sy, tx - sx );this.speed = 2;this.acceleration = 1.05;this.brightness = random( 50, 70 );this.targetRadius = 1;
}Firework.prototype.update = function( index ) {this.coordinates.pop();this.coordinates.unshift( [ this.x, this.y ] );if( this.targetRadius < 8 ) {this.targetRadius += 0.3;} else {this.targetRadius = 1;}this.speed *= this.acceleration;var vx = Math.cos( this.angle ) * this.speed,vy = Math.sin( this.angle ) * this.speed;this.distanceTraveled = calculateDistance( this.sx, this.sy, this.x + vx, this.y + vy );if( this.distanceTraveled >= this.distanceToTarget ) {createParticles( this.tx, this.ty );fireworks.splice( index, 1 );} else {this.x += vx;this.y += vy;}
}Firework.prototype.draw = function() {ctx.beginPath();ctx.moveTo( this.coordinates[ this.coordinates.length - 1][ 0 ], this.coordinates[ this.coordinates.length - 1][ 1 ] );ctx.lineTo( this.x, this.y );ctx.strokeStyle = 'hsl(' + hue + ', 100%, ' + this.brightness + '%)';ctx.stroke();ctx.beginPath();ctx.arc( this.tx, this.ty, this.targetRadius, 0, Math.PI * 2 );ctx.stroke();
}function Particle( x, y ) {this.x = x;this.y = y;this.coordinates = [];this.coordinateCount = 5;while( this.coordinateCount-- ) {this.coordinates.push( [ this.x, this.y ] );}this.angle = random( 0, Math.PI * 2 );this.speed = random( 1, 10 );this.friction = 0.95;this.gravity = 1;this.hue = random( hue - 20, hue + 20 );this.brightness = random( 50, 80 );this.alpha = 1;this.decay = random( 0.015, 0.03 );
}Particle.prototype.update = function( index ) {this.coordinates.pop();this.coordinates.unshift( [ this.x, this.y ] );this.speed *= this.friction;this.x += Math.cos( this.angle ) * this.speed;this.y += Math.sin( this.angle ) * this.speed + this.gravity;this.alpha -= this.decay;if( this.alpha <= this.decay ) {particles.splice( index, 1 );}
}Particle.prototype.draw = function() {ctx. beginPath();ctx.moveTo( this.coordinates[ this.coordinates.length - 1 ][ 0 ], this.coordinates[ this.coordinates.length - 1 ][ 1 ] );ctx.lineTo( this.x, this.y );ctx.strokeStyle = 'hsla(' + this.hue + ', 100%, ' + this.brightness + '%, ' + this.alpha + ')';ctx.stroke();
}function createParticles( x, y ) {var particleCount = 30;while( particleCount-- ) {particles.push( new Particle( x, y ) );}
}function loop() {requestAnimFrame( loop );hue += 0.5;ctx.globalCompositeOperation = 'destination-out';ctx.fillStyle = 'rgba(0, 0, 0, 0.5)';ctx.fillRect( 0, 0, cw, ch );ctx.globalCompositeOperation = 'lighter';var i = fireworks.length;while( i-- ) {fireworks[ i ].draw();fireworks[ i ].update( i );}var i = particles.length;while( i-- ) {particles[ i ].draw();particles[ i ].update( i );}if( timerTick >= timerTotal ) {if( !mousedown ) {fireworks.push( new Firework( cw / 2, ch, random( 0, cw ), random( 0, ch / 2 ) ) );timerTick = 0;}} else {timerTick++;}if( limiterTick >= limiterTotal ) {if( mousedown ) {fireworks.push( new Firework( cw / 2, ch, mx, my ) );limiterTick = 0;}} else {limiterTick++;}
}canvas.addEventListener( 'mousemove', function( e ) {mx = e.pageX - canvas.offsetLeft;my = e.pageY - canvas.offsetTop;
});canvas.addEventListener( 'mousedown', function( e ) {e.preventDefault();mousedown = true;
});canvas.addEventListener( 'mouseup', function( e ) {e.preventDefault();mousedown = false;
});window.onload = loop;
</script>

上述代码复制后即可使用,无素材
轻舟在这里祝大家新年快乐,龙年迎好运!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/678412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商小程序07显示用户个人信息

目录 1 全局变量2 控制登录按钮显示3 设置布局4 搭建我的页面5 修改个人信息总结 在登录章节我们已经实现了用户名和密码登录首页的功能&#xff0c;在登录之后&#xff0c;可以切换到我的页面&#xff0c;显示用户的头像和名称&#xff0c;可以修改个人信息。本篇我们介绍一下…

【Spring MVC篇】参数的传递及json数据传参

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Spring MVC】 本专栏旨在分享学习Spring MVC的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一、普通参数的传…

STM32能够做到数据采集和发送同时进行吗?

STM32能够做到数据采集和发送同时进行吗&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「STM32的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&am…

【JavaScript】对象的属性和方法

文章目录 1. 对象的属性基本属性嵌套属性计算属性名 2. 对象的方法基本方法简化方法 3. 属性和方法的访问点表示法方括号表示法 4. 属性和方法的删除删除属性删除方法 5. 属性的遍历for...in 循环Object.keys() 6. 总结 在 JavaScript 中&#xff0c; 对象是一种复合值&#x…

专业140+总分420+河海大学863信号与系统考研经验电子信息通信与信息技术,真题,大纲,参考书。

今年的成绩出来倍感欣慰&#xff0c;决定考研的时候并没有想到自己可以考出420的分数&#xff0c;通过自己一年来的努力&#xff0c;成功上岸&#xff0c;期中专业课863信号与系统140接近满分&#xff08;非常感谢信息通信Jenny老师的专业课辅导和平时悉心答疑&#xff0c;不厌…

从零开始学howtoheap:fastbins的house_of_spirit攻击1

how2heap是由shellphish团队制作的堆利用教程&#xff0c;介绍了多种堆利用技术&#xff0c;后续系列实验我们就通过这个教程来学习。环境可参见从零开始配置pwn环境&#xff1a;优化pwn虚拟机配置支持libc等指令-CSDN博客 1.fastbins的house_of_spirit攻击 house_of_spirit是…

【MATLAB源码-第138期】基于matlab的D2D蜂窝通信仿真,对比启发式算法,最优化算法和随机算法的性能。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 D2D蜂窝通信介绍 D2D蜂窝通信允许在同一蜂窝网络覆盖区域内的终端设备直接相互通信&#xff0c;而无需数据经过基站或网络核心部分转发。这种通信模式具有几个显著优点&#xff1a;首先&#xff0c;它可以显著降低通信延迟&…

波奇学Linux: 文件描述符

文件和操作系统的关系 操作系统控制进程&#xff0c;文件的打开是在进程中进行。意味着用来控制进程的PCB必然有文件的信息&#xff0c;操作系统通过控制PCB的信息来控制文件的读写。 Q1&#xff1a;如何证明文件打开是在进程中进行&#xff1f; 编写c文件调用fopen来操作文件…

SpringBoot 接入讯飞星火大模型实现对话

申请地址 https://xinghuo.xfyun.cn/sparkapi?scrprice 免费申请200万Token 开发文档 https://www.xfyun.cn/doc/spark/Web.html#_1-接口说明 页面最下面有相关demo可以参考 介绍 接口是以套接字的形式分段返回&#xff0c;而且非http请求&#xff0c;比较繁琐&#xff0c;官…

如何使用Airtest进行UI自动化测试

一、环境搭建 1、Airtest客户端下载 访问官网http://airtest.netease.com/&#xff0c;根据自己的系统下载相应的客户端安装&#xff1b; 2、python工具下载与环境搭建 在本地python环境中安装airtest和pocoui&#xff0c;然后用命令行运行脚本&#xff1b; 1、建议使用3.…

笔记:《NCT全国青少年编程能力等级测试教程Python语言编程二级》

NCT全国青少年编程能力等级测试教程Python语言编程二级 ISBN:9787302565857 绪论 专题1 模块化编程 考查方向 考点清单 考点 模块化编程 (一)模块化编程思想:结构清晰、降低复杂度;提高代码复用率;易于扩展、维护,方便阅读、优化。 …

猫头虎分享已解决Bug || RuntimeError: size mismatch, m1: [32 x 100], m2: [500 x 10]

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

奶茶点餐|奶茶店自助点餐系统|基于微信小程序的饮品点单系统的设计与实现(源码+数据库+文档)

奶茶店自助点餐系统目录 目录 基于微信小程序的饮品点单系统的设计与实现 一、前言 二、系统功能设计 三、系统实现 1、商品信息管理 2、商品评价管理 3、商品订单管理 4、用户管理 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&#xff1a; 五、核心代码 …

【More Effective C++】条款2:使用C++转型操作符

C旧式转型的缺点包括&#xff1a; 没有类型安全检查&#xff1a;允许将任何指针转换为其他类型指针&#xff0c;可能导致未定义行为的错误&#xff1b;难以识别和维护&#xff1a;语法(type)expression 或 type(expression)在代码中难以被快速识别&#xff1b; 为了解决上述问…

算法||如何优化算法?算法如何评价和分析

目录 1.一个好的算法所具备的特性 2.算法分析‐‐‐评价算法 3.算法复杂度 4.时间复杂度 如何统计在程序中统计算法执行语句数 5.空间复杂度 6.程序优化的最核心思路: 总结 1.一个好的算法所具备的特性 正确: 符合语法,能够编译、链接 能够正确处理简单的输入…

Rust语言之字符串

文章目录 一、字符二、字符串1.&str2.string创建字符串遍历字符串变更字符串指定位置插入字符串字符串拼接宏拼接&#xff08;format!&#xff09; 三、切片1.字符串切片2.数组&#xff08;向量&#xff09;切片 Rust语言设计官方教程 一、字符 Rust提供char为字符存储变量…

Qt知识点总结目录

一.Qt安装配置和创建项目 Qt所有版本下载地址 Qt安装配置教程windows版&#xff08;包括&#xff1a;Qt5.8.0版本&#xff0c;Qt5.12&#xff0c;Qt5.14版本下载安装教程&#xff09;&#xff08;亲测可行&#xff09; QT从入门到入土&#xff08;一&#xff09;——Qt5.14.…

Linux操作系统基础(八):Linux的vi/vim编辑器

文章目录 Linux的vi/vim编辑器 一、vi/vim编辑器介绍 二、打开文件 三、VIM编辑器的三种模式(重点) 四、命令模式相关命令 五、底行模式相关命令 Linux的vi/vim编辑器 一、vi/vim编辑器介绍 vi是visual interface的简称, 是Linux中最经典的文本编辑器 vi的核心设计思想…

技术精英求职必备:网络安全工程师简历制作全指南

简历编写核心原则 撰写针对网络安全工程师职位的简历时&#xff0c;关键在于准确展现您在网络安全领域的专业技能、项目经验和技术成就。简历应作为您展示安全策略制定、风险管理、入侵检测和响应能力的窗口。确保每一项经历和技能都紧密贴合网络安全工程师的角色要求。具体的…

在 Windows上恢复删除照片的 4 种有效方法

您是否曾在 Windows 7/8/10/11 中不小心删除过照片&#xff1f;如何轻松快速地恢复已删除的照片&#xff1f;在这里这篇文章列出了几种在Windows 11/10/8/7中恢复已删除照片的可行方法&#xff0c;而MiniTool数据恢复软件 是丢失照片恢复的最佳选择。 意外删除的照片 根据一项…