快速搭建Vue_cli以及ElementUI简单项目学生管理系统雏形

news2024/11/15 19:56:53

      为了帮助大家快速搭建Vue_cli脚手架还有ElementUI的简单项目,今天我给大家提供方法.

因为这个搭建这个项目步骤繁多,容易忘记,所以给大家提供这个资料希望可以帮助到你们.

废话不多说开始搭建项目:

搭建Vue_cli项目

        首先点开HBuilder左上角的文件点击新建,点击项目,选择vue项目(2.6.10),然后给项目起个名字

我起的webvue 根据自己的情况起名字

然后点击创建.

等待项目建立.

项目建立好之后,删除package-lock.json这个文件以及components文件夹

App.vue文件中的默认生成的相关代码删除

App.vue文件相当于一个大画布 ,用来显示其他组件(也就是网页)

删除其中的Demo部分代码保留这些部分

先做一个简单的登录页面

在src目录下创建一个Login.vue文件

在创建一个Main.vue用来显示管理页面

在这两个文件里面写相关代码

然后再src  下创建一个名为router文件夹

再从router文件夹下创建index.js文件此文件用来配置路由的,用来切换组件

在这个项目中安装路由组件

在下面的终端输入这个指令下载路由组件

npm i vue-router@3.5.3

然后等待进度条完成,也就下载好了路由组件(注意每创建一个项目都要重新下载路由组件)

index.js文件中配置组件地址

import Vue from 'vue';
import router from 'vue-router'; /* 导入路由 */

/*导入组件*/

import Login from "../Login.vue";
import Main from "../Main.vue";


/* 注册 定义组件访问地址 */
//构造组件地址
//路由组件 下载路由组件(工具(零件))  然后导入路由组件  并使用组件
Vue.use(router);//(Vue框架使用路由 (路由是用来切换组件的))

/* 定义组件路由 */
		var rout = new router({//给每一个组件定义地址
		routes: [//打开网页显示默认组件
			{
			   path:'/',
				component: Login
			},
		{
		path: '/login',
		component: Login
		},
		{
		path: '/main',
		component: Main
		}
		]
		});
//定义组件地址     用地址访问(使用)组件(网页)
//要给组件(网页)定义地址才能使用组件  
//导出路由对象
export default rout;   /* 导出路由对象才能在其他的组件里面使用路由对象*/

main.js文件导入(自己构造的)路由

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

/* 导入路由 */
import router from "./router/index.js"
Vue.use(router);

new Vue({
  render: h => h(App),
  router //给Vue挂载路由   让Vue对象与路由绑定,绑定之后Vue对象就可以使用路由切换组件(Vue对象使用路由切换组件)
}).$mount('#app')

然后再Login.vue文件中添加切换Main.vue组件

<template>
	<div>
		登录
		<router-link to="/main">登陆成功</router-link>
	</div>
</template>

<script>
	    export default{//导出组件
			data(){
				return{
					
				}
			},
			methods:{
				
			}
		}
</script>

<style>
</style>

再到终端输入这个指令运行此项目检查一下项目''

npm run serve

点击登录成功切换组件

观察没有问题

这样就完成了基本的模版架构

再进行下一步

ElementUI渲染

  首先搭建一个简单的HellWorld

先打开Element 官方网站

这里就直接提供网址

Element - The world's most popular Vue UI framework

在官方抄代码

先在终端用这个指令下载Element

npm i element-ui -S

等待下载完成

下载完成之后

在main.js文件导入ElementUI

直接抄官方代码

在终端打入指令 npm run serve 启动项目验证一下

怎么使用ElementUI 一个字抄

在组件中找按钮抄这部分代码

把这些代码复制粘贴到Login.vue文件中验证一下

<template>
	<div>
		<el-button plain>朴素按钮</el-button>
		  <el-button type="primary" plain>主要按钮</el-button>
		  <el-button type="success" plain>成功按钮</el-button>
		  <el-button type="info" plain>信息按钮</el-button>
		  <el-button type="warning" plain>警告按钮</el-button>
		  <el-button type="danger" plain>危险按钮</el-button>
	</div>
</template>

<script>
	    export default{//导出组件
			data(){
				return{
					
				}
			},
			methods:{
				
			}
		}
</script>

<style>
</style>

ok没问题这样ElementUI简单HelloWorld搭建成功.

接下来搭建管理系统的登录界面

在Login.vue文件中用以下代码直接复制粘贴

<!-- Login.vue -->

<!-- 一个.vue文件是一个组件,可以理解为一个页面,但是和页面不同 
  内容都写在一个template标签中,
  template标签必须有一个根标签
-->
<template>
	 <div class="login_container">
	     <!-- 登录盒子-->
	     <div class="login_box">
	          <!-- 头像盒子-->
	          <div class="img_box">
	                <img src="./assets/logo.png" />
	          </div>
			  
			  <!-- 登录表单-->
			  
			 <div   style="margin-top: 100px;padding-right:20px;">
				 
				 <el-form ref="form"  label-width="80px">
					 <el-form-item label="账号">
					     <el-input v-model="account"></el-input>
					   </el-form-item>
					   
					   <el-form-item label="密码">
					       <el-input v-model="password"show-password></el-input>
					     </el-form-item>
						 
						 <el-form-item>
						     <el-button type="primary"  @click="login()">登录</el-button>
						     <el-button>注册</el-button>
						   </el-form-item>
					   
				</el-form>
				 
			 </div> 
			  
			
				
		
	     </div>
	  </div>
</template>

<script>
/* 导出组件,并为组件定义数据,函数,生命周期函数 */
 export default{
	 data(){
		 return{
			 account:"",
			 password:""
			 
		 }
	 },
	 methods:{
		 login(){
			 //前端验证账号和密码不能为空
			 if(this.account.length==0){
				 this.$message({message:"账号不能为空",type:'warning'});
				 return;
			 }
			 if(this.password.length==0){
			 				 this.$message({message:"密码不能为空",type:'warning'});
			 				 return;
			 }
			 
			 //与后端交互
			 
			 
			 //后端响应一个结果
			 this.$router.push('/main');
		 }
	 }
 }
</script>

<style>
  .login_container{
    height: 100vh;
    margin: 0px;
    padding: 0px;
	background-image: url(assets/bg.jpg);
  }
  
  
  /* 	background-repeat: no-repeat;
	background-size: cover;   如果你的电脑分辨率问题导致背景图片重复把这两行代码放到 .login_container里面*/

    .login_box{
      width: 450px;
      height: 350px;
      background-color: #fff;
      border-radius: 10px;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%,-50%);
	  opacity: 0.95;
    }

    .img_box{
       width: 130px;
       height: 130px;
       position: absolute;
       left: 50%;
       transform: translate(-50%,-50%);
       background-color: #fff;
       border-radius: 50%;
       padding: 5px;
       border: 1px solid #eee;
    }
    
    .img_box img{
         width: 100%;
         height: 100%;
         border-radius: 50%;
         background-color: #eee;
     }
</style>

登录表单抄的element官网的表单

在input输入框抄密码框

密码框

在Message消息提示 中抄登录消息提醒

运行的时候有个问题

会出这样的问题

就是找不到这个图片是因为在assets文件中没有加入bg.jpg这个图片

so就在这个文件中加入这个图片,背景图片直接用我的就行


或者你感觉这个图片不好看可以自己找一个但是一定要把图片的名字命名为bg.jpg

ok没有问题进行下一步

接下来进行管理页面

直接再抄

在Container布局管理器抄这些代码

显示出来是这样的

然后再把下面的样式抄过来

抄过来是这样的你会看到这个外边距

这个外边距html中body标签的外边距,那么我们如何取消body标签的外边距呢

public文件夹下的index.html中把body标签的外边距属性改为0px这样外边距就没了

这样就消除了外边距

然后再抄

抄header部分

适当修改

<template>
	<div>
		<el-container>
		  <el-header style="text-align: right; font-size: 12px">
		        <el-dropdown>
		          <i class="el-icon-setting" style="margin-right: 15px"></i>
		          <el-dropdown-menu slot="dropdown">
		            <el-dropdown-item>修改密码</el-dropdown-item>
		            <el-dropdown-item>安全退出</el-dropdown-item>
		            <el-dropdown-item></el-dropdown-item>
		          </el-dropdown-menu>
		        </el-dropdown>
		        <span>王小虎</span>
		      </el-header>
			  
			  
			  
		  <el-container>
		    <el-aside width="200px">Aside</el-aside>
		    <el-main>Main</el-main>
		  </el-container>
		  
		  
		</el-container>
	</div>
</template>

<script>
	    export default{//导出组件
			data(){
				return{
					
				}
			},
			methods:{
				
			}
		}
</script>

<style>
	 .el-header {
	    background-color: #B3C0D1;
	    color: #333;
	    text-align: center;
	    line-height: 60px;
	  }
	  
	  .el-aside {
	    background-color: #D3DCE6;
	    color: #333;
	    text-align: center;
	    line-height: 200px;
	  }
	  
	  .el-main {
	    background-color: #E9EEF3;
	    color: #333;
	    text-align: center;
	    line-height: 160px;
	  }
</style>

再抄aside部分适当修改

<template>
	<div>
		<el-container>  <!-- 容器-->
		  <el-header style="text-align: right; font-size: 12px">
		        <el-dropdown>
		          <i class="el-icon-setting" style="margin-right: 15px"></i>
		          <el-dropdown-menu slot="dropdown">
		            <el-dropdown-item>修改密码</el-dropdown-item>
		            <el-dropdown-item>安全退出</el-dropdown-item>
		            <el-dropdown-item></el-dropdown-item>
		          </el-dropdown-menu>
		        </el-dropdown>
		        <span>王小虎</span>
		      </el-header>
			  
			  
			  
		  <el-container>  <!-- 容器-->
			  <!-- 侧边栏-->
		    <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
		       <el-menu :default-openeds="['1', '3']">
		         <el-submenu index="1">
		           <template slot="title"><i class="el-icon-message"></i>操作菜单</template>
		           <el-menu-item-group>
					   
		             <el-menu-item index="1-1">专业管理</el-menu-item>
		             <el-menu-item index="1-2">学生管理</el-menu-item>
		           </el-menu-item-group>
		           
		           
		         </el-submenu>
		        
		         
		       </el-menu>
		     </el-aside>
			
			
			
			
		    <el-main>Main</el-main>
		  </el-container>
		  
		  
		</el-container>
	</div>
</template>

<script>
	    export default{//导出组件
			data(){
				return{
					
				}
			},
			methods:{
				
			}
		}
</script>

<style>
	 .el-header {
	    background-color: #B3C0D1;
	    color: #333;
	    text-align: center;
	    line-height: 60px;
	  }
	  
	  .el-aside {
	    background-color: #D3DCE6;
	    color: #333;
	    text-align: center;
	    line-height: 200px;
	  }
	  
	  .el-main {
	    background-color: #E9EEF3;
	    color: #333;
	    text-align: center;
	    line-height: 160px;
	  }
</style>

修改成这样

这个是自己搭建

下面为了方便直接用这个样式复制粘贴

<!-- Main.vue -->
<template>
	<div>
		<el-container>
			
		 <el-header style="text-align: right; font-size: 12px">
			 <div class="header-title">后台管理系统</div>
		       <el-dropdown>
		         <i class="el-icon-setting" style="margin-right: 15px"></i>
		         <el-dropdown-menu slot="dropdown">
		           <el-dropdown-item>修改密码</el-dropdown-item>
		           <el-dropdown-item><span @click="logout()">安全退出</span></el-dropdown-item>
		           
		         </el-dropdown-menu>
		       </el-dropdown>
		       <span>王小虎</span>
		     </el-header>
			 
			 
		  <el-container>
			  
			  
		    <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
		        <el-menu :default-openeds="['1', '3']" router>  <!-- 给这个菜单加路由器可以切换组件 (切换网页(零件))-->
		          <el-submenu index="1">
		            <template slot="title"><i class="el-icon-message"></i>操作菜单</template>
		            <el-menu-item-group>
		              
		              <el-menu-item index="/majorlist">专业管理</el-menu-item>
		              <el-menu-item index="/studentlist">学生管理</el-menu-item>
		            </el-menu-item-group>
		            
		          </el-submenu>
		          
		          
		        </el-menu>
		      </el-aside>
			
			<!-- 工作区间 -->
		    <el-main>
				<!-- 显示子路由 (子组件) -->
			     <router-view></router-view>
			
			</el-main>
			
		  </el-container>
		</el-container>
	</div>
</template>

<script>
	export default{
		data(){
			return {
				
				
			}
		},
		methods:{
			logout(){
				this.$confirm('您确定要退出吗?', '提示', {
				          confirmButtonText: '确定',
				          cancelButtonText: '取消',
				          type: 'warning'
				        }).then(() => {
				          this.$router.push("/login");
				        })
			}
		}
	}
</script>

<style>
  .el-header {
    background-color: #00a7fa;
    color: #333;
    line-height: 60px;
  }

  .header-title{
     width: 300px;
     float: left;
     text-align: left;
     font-size: 20px;
     color: white;
  }
  
  .el-main{
	  background-color: aliceblue;
	  height: 100vh;
  }
</style>

显示这个样子

后面添加安全退出

再从官网抄

再MessageBox弹框抄这个代码适当修改

在点击安全退出的时候要触发事件

但是有个问题

不能在这个标签上添加触发事件,因为这个标签是框架封装的标签,在浏览器上不会显示的,会自动转换成其他的标签

打开浏览器的检查可以发现没有这个标签,所以在框架的标签添加触发事件是无效的,

所以在这个标签里面添加span标签再在span标签上添加触发事件就行了

这样安全退出的弹框就搭建好了

然后给菜单选项中的学生管理和专业管理加切换组件

首先在src文件夹下创建views文件夹在这个文件夹下创建student文件夹和major文件夹这个两个文件夹用来放学生管理和专业管理组件,然后在这两个文件夹下分别创建vue文件构造组件

这样的一个文件结构

然后填写这俩个MajorList和StudentList组件

StudentList组件代码

<template>
	<div>
		学生管理
	</div>
</template>

<script>
	export default{
		data(){
			return{
				
			}
			
		},
		methods:{
			
		}
	}
</script>

<style>
</style>

MajorList组件代码

<template>
	<div>
		专业管理
	</div>
</template>

<script>
	export default{
		data(){
			return{
				
			}
			
		},
		methods:{
			
		}
	}
</script>

<style>
</style>

然后在index.js文件配置(注册)组件地址

import Vue from 'vue';
import router from 'vue-router'; /* 导入路由 */

/*导入组件*/

import Login from "../Login.vue";
import Main from "../Main.vue";
import MajorList from "../views/major/MajorList.vue";
import StudentList from "../views/student/StudentList.vue";

/* 注册 定义组件访问地址 */
//构造组件地址
//路由组件 下载路由组件(工具(零件))  然后导入路由组件  并使用组件
Vue.use(router);//(Vue框架使用路由 (路由是用来切换组件的))

/* 定义组件路由 */
		var rout = new router({//给每一个组件定义地址
		routes: [//打开网页显示默认组件
			{
			   path:'/',
				component: Login
			},
		{
		path: '/login',
		component: Login
		},
		{
		path: '/main',
		component: Main
		},
		{
		path: '/majorlist',
		component: MajorList
		},
		{
		path: '/student',
		component: StudentList
		}
		]
		});
//定义组件地址     用地址访问(使用)组件(网页)
//要给组件(网页)定义地址才能使用组件  
//导出路由对象
export default rout;   /* 导出路由对象才能在其他的组件里面使用路由对象*/

在Main.vue文件这个标签上,index属性填写相关组件地址就可以切换组件

然后在这个标签上添加router属性,这样才能让这个菜单切换组件,不加这个属性是不会切换组件的,因为是利用路由来切换组件的(菜单利用路由切换组件).

这样可以利用菜单项切换组件

但是有个问题我们切换组件并不是到了新的页面而是在main区域显示组件,

也就是在这个区域显示组件

我们接下来就需要配置路由嵌套

在index.js文件中重新配置路由地址

给Main路由配置子路由

import Vue from 'vue';
import router from 'vue-router'; /* 导入路由 */

/*导入组件*/

import Login from "../Login.vue";
import Main from "../Main.vue";
import MajorList from "../views/major/MajorList.vue";
import StudentList from "../views/student/StudentList.vue";

/* 注册 定义组件访问地址 */
//构造组件地址
//路由组件 下载路由组件(工具(零件))  然后导入路由组件  并使用组件
Vue.use(router);//(Vue框架使用路由 (路由是用来切换组件的))

/* 定义组件路由 */
		var rout = new router({//给每一个组件定义地址
		routes: [//打开网页显示默认组件
			{
			   path:'/',
				component: Login
			},
		{
		path: '/login',
		component: Login
		},
		{
		path: '/main',
		component: Main,
		children:[
		
		{
		path: '/majorlist',
		component: MajorList
		},
		{
		path: '/studentlist',
		component: StudentList
		}
		
		]
		}
		]
		});
//定义组件地址     用地址访问(使用)组件(网页)
//要给组件(网页)定义地址才能使用组件  
//导出路由对象
export default rout;   /* 导出路由对象才能在其他的组件里面使用路由对象*/

然后再到Main.vue文件中在<el-main>标签中添加 <router-view></router-view>这个标签,

这个标签,是显示Main.vue中的子组件的.如果不加切换组件是不会在main区域显示的.

 

在app.vue中的  <router-view></router-view>  这个标签是显示Main.vue这样的一级路由的

再看一下Main.vue文件完整代码

<!-- Main.vue -->
<template>
	<div>
		<el-container>
			
		 <el-header style="text-align: right; font-size: 12px">
			 <div class="header-title">后台管理系统</div>
		       <el-dropdown>
		         <i class="el-icon-setting" style="margin-right: 15px"></i>
		         <el-dropdown-menu slot="dropdown">
		           <el-dropdown-item>修改密码</el-dropdown-item>
		           <el-dropdown-item><span @click="logout()">安全退出</span></el-dropdown-item>
		           
		         </el-dropdown-menu>
		       </el-dropdown>
		       <span>王小虎</span>
		     </el-header>
			 
			 
		  <el-container>
			  
			  
		    <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
		        <el-menu :default-openeds="['1', '3']" router>  <!-- 给这个菜单加路由器可以切换组件 (切换网页(零件))-->
		          <el-submenu index="1">
		            <template slot="title"><i class="el-icon-message"></i>操作菜单</template>
		            <el-menu-item-group>
		              
		              <el-menu-item index="/majorlist">专业管理</el-menu-item>
		              <el-menu-item index="/studentlist">学生管理</el-menu-item>
		            </el-menu-item-group>
		            
		          </el-submenu>
		          
		          
		        </el-menu>
		      </el-aside>
			
			<!-- 工作区间 -->
		    <el-main>
				<!-- 显示子路由 (子组件) -->
				<!-- 显示二级路由  显示儿子路由 -->
			     <router-view></router-view>
			
			</el-main>
			
		  </el-container>
		</el-container>
	</div>
</template>

<script>
	export default{
		data(){
			return {
				
				
			}
		},
		methods:{
			logout(){
				this.$confirm('您确定要退出吗?', '提示', {
				          confirmButtonText: '确定',
				          cancelButtonText: '取消',
				          type: 'warning'
				        }).then(() => {//函数当参数传进去
				          this.$router.push("/login");
				        })
			}
		}
	}
</script>

<style>
  .el-header {
    background-color: #00a7fa;
    color: #333;
    line-height: 60px;
  }

  .header-title{
     width: 300px;
     float: left;
     text-align: left;
     font-size: 20px;
     color: white;
  }
  
  .el-main{
	  background-color: aliceblue;
	  height: 100vh;
  }
</style>

好这样一个简单的学生管理系统的雏形就完成了.

再次提醒一下,如果时间长了忘记搭建vue项目就可以翻我的资料(嘻嘻嘻,其实我也是时间长了,忘记了重新写的),希望可以帮助到你们!

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

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

相关文章

2024年人工智能固态硬盘采购容量预计超过45 EB

根据TrendForce发布的最新市场报告&#xff0c;人工智能&#xff08;AI&#xff09;服务器客户在过去两个季度显著增加了对企业级固态硬盘&#xff08;SSD&#xff09;的订单。为了满足AI应用中不断增长的SSD需求&#xff0c;上游供应商正在加速工艺升级&#xff0c;并计划在20…

智慧交通物联网应用,5G路由器赋能高速道路监控数据传输

高速道路为了保障交通的高速、安全运行&#xff0c;沿线部署了控制设施、监视设施、情报设施、传输设施、显示设施及控制中心等。在传统的高速管理中&#xff0c;这些设施的传输设施多采用光纤线缆进行数据传输&#xff0c;但高速道路覆盖范围广、距离远&#xff0c;布线与施工…

韩顺平 集合

集合 一、体系结构图二、Collection2.1 Collection 接口和常用方法2.2 集合遍历2.2.1 迭代器2.2.2 增强for循环 三、List接口及其常用方法3.1 三种遍历方式3.2 ArrayList3.3 LinkedList 四 MAP4.1 hashmap 一、体系结构图 集合主要是两组 单列和双列集合 Collection接口有两个重…

第十五章:高级调度

本章内容包括&#xff1a; 使用节点污点和pod容忍度组织pod调度到特定节点将节点亲和性规则作为节点选择器的一种替代使用节点亲和性进行多个pod的共同调度使用节点非亲和性来分离多个pod Kubernetes允许你去影响pod被调度到哪个节点。起初&#xff0c;只能通过在pod规范⾥指定…

Linux安装Nginx后,无法解析Windows主机Hosts文件

问题展示&#xff1a; 配置好Linux的Nginx配置后&#xff0c;Windows同样配置好host&#xff0c;而通过浏览器只能用IP地址成功访问&#xff0c;而域名则不行 解决方法&#xff1a; 点击Windows图标&#xff0c;搜索记事本&#xff0c;选择以管理员身份运行&#xff0c;编辑…

php-xlswriter实现数据导出excel单元格合并,内容从指定行开始写

最终效果图&#xff1a; 代码&#xff1a; public function export_data() {$list $this->get_list_organ();$content [];$content[] []; // 第2行不设置内容&#xff0c;设置为空foreach ($list as $key > $value) {$content[] [$value[organ_name], $value[clas…

防火墙技术与地址转换

文章目录 前言一、四种区域二、实验拓扑图基础配置防火墙配置测试结果 前言 防火墙是计算机网络中的一种安全设备或软件功能&#xff0c;旨在监控和控制进出网络的网络流量。其核心目的是保护内部网络免受外部攻击或不必要的访问。防火墙通过设定一系列安全规则&#xff0c;允…

【iOS】UITableViewCell的重用问题解决方法

我自己在实验中对cell的重用总结如下&#xff1a; 非自定义Cell和非自定义cell的复用情况一样&#xff1a; 第一次加载创建tableView的时候&#xff0c;是屏幕上最多也显示几行cell就先创建几个cell&#xff0c;此时复用池里什么都没有开始下滑tableView&#xff0c;刚开始滑…

可视化编程-七巧低代码入门02

1.1.什么是可视化编程 非可视化编程是一种直接在集成开发环境中&#xff08;IDE&#xff09;编写代码的编程方式&#xff0c;这种编程方式要求开发人员具备深入的编程知识&#xff0c;开发效率相对较低&#xff0c;代码维护难度较大&#xff0c;容易出现错误&#xff0c;也需要…

最新的APS高级计划排程系统推动的MRP供应链计划是什么?

在当下“内卷”的市场环境下&#xff0c;制造业的订单需求从过去大批量标准品生产已经演变成小批量、多订单的非标订单生产&#xff0c;这对制造业的供应链提出了更高的要求。为了应对市场实现产销平衡&#xff0c;中大型的企业都开始重视供应链的建设工作&#xff0c;以应对企…

数字签名和CA数字证书的核心原理和作用

B站讲解视频&#xff0c;讲述HTTPS CA认证的整个行程过程与原理 https://www.bilibili.com/video/BV1mj421d7VE

[Qt][Qt 文件]详细讲解

目录 1.输入输出设备类2.文件读写类3.文件和目录信息类 1.输入输出设备类 在Qt中&#xff0c;⽂件读写的类为QFile&#xff0c;其⽗类为QFileDevice QFileDevice提供了⽂件交互操作的底层功能QFileDevice的⽗类是QIODevice&#xff0c;其⽗类为QObject QIODevice是Qt中所有I/O…

【数学建模备赛】Ep05:斯皮尔曼spearman相关系数

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、斯皮尔曼spearman相关系数&#xff1a;☀️☀️☀️1. 回顾皮尔逊相关系数2. 斯皮尔曼spearman相关系数3. 斯皮尔曼相关系数公式4. 另外一种斯皮尔曼相关系数定义5. matlab的用法5. matlab的用法 三、对斯皮尔曼相…

立仪光谱共焦传感器行业应用|透明胶水高度测量

01&#xff5c;检测需求&#xff1a;透明胶水高度测量 02&#xff5c;检测方式 根据客户要求及观察我们使用立仪科技D40A26XL镜头搭配E系列控制器进行测量 03&#xff5c;光谱共焦测量结果 经过测量可以得出胶水的高度为1076.406μm 04&#xff5c;光谱共焦侧头 D40A26XL侧头…

uniapp接口请求this.$request

代码示例&#xff1a; createPhoto(url) {this.$request({url: /emp/gallery-photo/create,//后端接口method: post,//请求方法header: {//请求头tenant-id: 1,},data: {//请求参数galleryId: this.albumId,empUserId: this.empUserId,"url": url,}}).then((res) &…

JVM -垃圾回收器

本人在这篇文章中讲解了垃圾回收机制&#xff0c;这为前置知识 美团一面面经&#xff1a;Threadlocal&#xff08;线程局部变量的原理&#xff09;-&#xff1e;内存泄漏问题-&#xff1e;垃圾回收机制_threadlocal回收-CSDN博客 首先对前置知识漏洞做一个补充&#xff1a;ja…

时序电路实验-节拍脉冲发生器

二、实验目的 掌握节拍脉冲发生器的设计方法&#xff0c;理解节拍脉冲发生器的工作原理。 三、实验环境 PC计算机 四、实验内容 单步/连续节拍发生电路设计 增加两个2-1多路选择器&#xff0c;可将图3.3所示电路修改为图3.5所示电路。 图3.5单步/连续节拍脉冲发生器工作波…

如何进行长截图的两种方法

前言 本文主要讲2种截图方式&#xff0c;分别是谷歌和QQ。 谷歌分为Web端 和 移动端&#xff0c;选一种即可。 第一种&#xff1a;谷歌浏览器控制台自带的 1.先把控制台语言更改为中文&#xff0c;方便查看 ①.按F12&#xff0c;点击设置面板 ②.修改语言为中文并关闭 ③.点击…

七、OpenCVSharp 中的图像边缘检测

文章目录 简介一、Sobel 算子1. 水平和垂直方向的 Sobel 算子2. 梯度幅值和方向的计算3. Sobel 算子的参数调整和效果优化二、Canny 边缘检测1. Canny 算法的步骤详解(高斯平滑、梯度计算、非极大值抑制、双阈值检测)2. 高低阈值的选择对边缘检测结果的影响3. Canny 边缘检测…

阿里云服务器CentOS7安装MinIO

1. 概述 MinIO是一个开源的分布式对象存储服务器&#xff0c;支持S3协议并且可以在多个节点上实现数据的高可用和容错&#xff0c;采用Go语言开发&#xff0c;拥有轻量级、高性能、易部署等特点&#xff0c;并且可以自由选择底层存储介质。 MinIO主要特点&#xff1a; 高性能&…