当前位置: 首页 > news >正文

mongodb--用户管理

文章目录

  • MongoDB 用户管理
    • 1. 连接到 MongoDB
    • 2. 用户创建
      • 2.1 创建管理员用户
      • 2.2 创建特定数据库用户
      • 2.3 常用内置角色
    • 3. 用户管理操作
      • 3.1 查看所有用户
      • 3.2 查看特定用户信息
      • 3.3 更新用户密码
      • 3.4 添加用户角色
      • 3.5 移除用户角色
      • 3.6 删除用户
    • 4. 权限修改
      • 4.1 创建自定义角色
      • 4.2 将自定义角色分配给用户
    • 5. 启用身份验证
    • 6. 允许远程连接
      • 6.1 修改绑定IP
      • 6.2 防火墙设置
      • 6.3 安全注意事项
    • 7. 使用认证连接
    • 8. 最佳实践
    • 9. 常见问题解决
      • 9.1 忘记管理员密码
      • 9.2 连接被拒绝

MongoDB 用户管理

1. 连接到 MongoDB

在开始管理用户之前,首先需要连接到 MongoDB 实例:

# 连接到本地 MongoDB 实例
mongo# 或者连接到远程实例
mongo --host <hostname> --port <port> -u <username> -p <password>

2. 用户创建

2.1 创建管理员用户

最大权限

mongos> use admin
mongos> db.createUser({user: "admin", pwd: "admin123", roles: ["root"]})

首先创建一个具有用户管理权限的管理员账户:

// 切换到 admin 数据库
use admin// 创建管理员用户
db.createUser({user: "adminUser",pwd: "securePassword123",  // 实际使用时请设置更复杂的密码roles: [{ role: "userAdminAnyDatabase", db: "admin" },{ role: "readWriteAnyDatabase", db: "admin" },{ role: "dbAdminAnyDatabase", db: "admin" },{ role: "clusterAdmin", db: "admin" }]
})

2.2 创建特定数据库用户

为特定数据库创建用户:

// 切换到目标数据库
use myDatabase// 创建具有读写权限的用户
db.createUser({user: "appUser",pwd: "appPassword123",roles: [{ role: "readWrite", db: "myDatabase" },{ role: "dbAdmin", db: "myDatabase" }]
})

2.3 常用内置角色

  • read: 只读权限
  • readWrite: 读写权限
  • dbAdmin: 数据库管理权限
  • userAdmin: 用户管理权限
  • clusterAdmin: 集群管理权限(仅admin数据库)
  • dbOwner: 数据库所有者(包含readWrite, dbAdmin和userAdmin权限)

3. 用户管理操作

3.1 查看所有用户

use admin
db.system.users.find()

3.2 查看特定用户信息

db.getUser("appUser")

3.3 更新用户密码

db.updateUser("appUser", {pwd: "newSecurePassword456"
})

3.4 添加用户角色

db.grantRolesToUser("appUser", [{ role: "read", db: "anotherDatabase" }
])

3.5 移除用户角色

db.revokeRolesFromUser("appUser", [{ role: "read", db: "anotherDatabase" }
])

3.6 删除用户

db.dropUser("appUser")

4. 权限修改

4.1 创建自定义角色

use admin
db.createRole({role: "customAppRole",privileges: [{resource: { db: "myDatabase", collection: "customers" },actions: ["find", "insert", "update"]},{resource: { db: "myDatabase", collection: "orders" },actions: ["find"]}],roles: []
})

4.2 将自定义角色分配给用户

db.grantRolesToUser("appUser", ["customAppRole"])

5. 启用身份验证

要使用户管理生效,需要在 MongoDB 配置中启用身份验证:

  1. 编辑 MongoDB 配置文件(通常位于 /etc/mongod.conf)
  2. 添加或修改以下部分:
security:authorization: enabled
  1. 重启 MongoDB 服务:
sudo systemctl restart mongod

6. 允许远程连接

6.1 修改绑定IP

  1. 编辑 MongoDB 配置文件:
net:port: 27017bindIp: 0.0.0.0  # 允许所有IP连接,或指定特定IP
  1. 重启 MongoDB 服务

6.2 防火墙设置

如果服务器有防火墙,需要开放 MongoDB 端口(默认27017):

sudo ufw allow 27017

6.3 安全注意事项

允许远程连接时,务必:

  • 使用强密码
  • 考虑设置网络层面的访问控制(如IP白名单)
  • 启用TLS/SSL加密连接
  • 限制用户权限到最小必要范围

7. 使用认证连接

启用认证后,连接时需要提供凭据:

mongo -u "appUser" -p "appPassword123" --authenticationDatabase "myDatabase"

或者在连接字符串中:

mongo "mongodb://appUser:appPassword123@localhost:27017/myDatabase"

8. 最佳实践

  1. 遵循最小权限原则,只授予用户必要的权限
  2. 定期审计用户和权限
  3. 使用复杂的密码并定期更换
  4. 生产环境考虑启用TLS/SSL加密
  5. 对于重要操作,考虑使用审计日志

9. 常见问题解决

9.1 忘记管理员密码

  1. 暂时关闭认证(修改配置文件,去掉authorization: enabled)
  2. 重启 MongoDB
  3. 连接到无认证的实例
  4. 重置管理员密码
  5. 重新启用认证并重启

9.2 连接被拒绝

  • 检查 MongoDB 服务是否运行
  • 检查防火墙设置
  • 验证绑定IP配置
  • 检查认证凭据是否正确

相关文章:

mongodb--用户管理

文章目录 MongoDB 用户管理1. 连接到 MongoDB2. 用户创建2.1 创建管理员用户2.2 创建特定数据库用户2.3 常用内置角色 3. 用户管理操作3.1 查看所有用户3.2 查看特定用户信息3.3 更新用户密码3.4 添加用户角色3.5 移除用户角色3.6 删除用户 4. 权限修改4.1 创建自定义角色4.2 将…...

2025年考OCP认证有用吗?

在数字化转型的浪潮中&#xff0c;数据库管理技术成为企业核心竞争力的基石。Oracle作为全球领先的数据库解决方案提供商&#xff0c;其OCP&#xff08;Oracle Certified Professional&#xff09;认证不仅是技术能力的权威背书&#xff0c;更是职业发展的强力引擎。以下从多个…...

川翔云电脑:D5 渲染摆脱硬件限制,云端高效创作

在设计领域&#xff0c;D5 渲染器凭借实时光追技术、高效工作流程及优质输出效果&#xff0c;成为设计师的得力工具。然而&#xff0c;其对高端 RTX 显卡的依赖&#xff0c;导致硬件成本高、本地性能受限及办公地点固定等问题&#xff0c;让不少创作者望而却步。 D5 渲染器的优…...

设计模式(23种设计模式简介)

设计模式 简介 设计模式是解决软件设计中常见问题的可重用解决方案模板&#xff0c;通过总结反复验证的代码设计经验&#xff0c;提升代码的可重用性、可维护性和扩展性。其核心是通过标准化的设计思想&#xff0c;让代码更易理解、协作更高效&#xff0c;并在面向对象编程中…...

Python设计模式:工厂模式

1. 什么是工厂模式&#xff1f; 工厂模式是一种创建对象的设计模式&#xff0c;它提供了一种创建对象的接口&#xff0c;但不暴露对象创建的具体逻辑。工厂模式的核心思想是将对象的创建与使用分离&#xff0c;从而提高代码的灵活性和可维护性。 1.1 工厂模式的类型 1.1.1 简…...

UE5 给函数分类

如果函数太多不方便找&#xff0c;我们可以给函数设置一个分组 选中一个函数&#xff0c;修改它的类别 然后在函数列表里可以看到分好的类 其他函数可以直接拖进类别里&#xff0c;不用每个函数都手动设置类别 一次只能拖动一个函数...

5️⃣ Coze+AI应用基础教学(2025年全新版本)

目录 一、了解应用开发 1.1 扣子应用能做什么 1.2 开发流程 1.3 开发环境 二、快速搭建一个AI应用 2.1 AI翻译应用介绍 2.2 设计你的应用功能 2.3 创建 AI 应用项目 2.4 编写业务逻辑&#xff08;新建工作流&#xff09; 2.5 搭建用户界面 2.6 效果测试 2.7 发布应…...

高级前端题库

前端题库 JS篇 如何理解作用域和作用域链 作用域 作用域就是变量或函数在其内能够被访问的“可见区域” 全局作用域局部作用域 作用域链 当在某个作用域中尝试访问一个变量时&#xff0c;JS引擎会从当前作用域开始&#xff0c;沿着作用域链向上逐级开始查找&#xff0c;直到…...

博途 TIA Portal之1200做主站与汇川EASY的TCP通讯

前言,虽然已经做了几篇关于TCP通讯的文章,但是不同的PLC之间的配合可能不同,下面将演示这种差异。 关于汇川EASY做从站的配置请参见下方链接文章:汇川EASY系列之以太网通讯(套接字socket做从站)_汇川以太网tcp套接字fb块-CSDN博客 1、硬件准备: 1200PLC,汇川EASY320…...

在conda虚拟环境安装GIT并且克隆github上项目指南(解决443问题)

此次笔记记录自己在conda虚拟环境安装git&#xff0c;同时克隆github项目&#xff0c;并且解决了git的443问题。 如有不妥欢迎各位大佬批评指正。 首先默认你已经安装了anaconda。 代开命令提示行 配置环境 #首先创建虚拟环境 conda create -n git_env python3.8 #激活虚拟环…...

JavaWeb遇到的问题汇总

问题一&#xff1a;&#xff08;键值对最后一项没有逗号&#xff09; 在JSON字符串转自定义对象和自定义对象转JSON字符串时&#xff1a; 如图所示&#xff1a;若忘记删除键值对的最后一项没有逗号时&#xff0c;则下一句转换不会生效&#xff0c;应该删除最后一项的逗号。 解…...

Stable Diffusion + Contronet,调参实现LPIPS最优(带生成效果+指标对比)——项目学习记录

目录 前言 一、数据集&#xff1a;图像文本&#xff0c;部分选取于DeepFashion 二、优化一&#xff0c;img2img 三、优化二&#xff0c;微调sd参数 四、优化三&#xff0c;dreamshaper优化 五、优化四&#xff0c;sdv1.5contronet 六、问题探索历程 1. 从 SDXL 到轻量化模…...

【“星睿O6”AI PC开发套件评测】在O6开发板使用gemma-2b测试CPU性能

前提条件&#xff1a; x64 Linux 主机&#xff1a;安装CMake 和 arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-linux-gnu radxa O6主机 1.从 Kaggle 获取模型权重和分词器 Gemma 3 2B 模型文件&#xff1a;访问 Kaggle 上的 Gemma 模型页面 https://www.kaggle.com/mode…...

数学知识——矩阵乘法

使用矩阵快速幂优化递推问题 对于一个递推问题&#xff0c;如递推式的每一项系数都为常数&#xff0c;我们可以使用矩阵快速幂来对算法进行优化。 一般形式为&#xff1a; F n F 1 A n − 1 F_nF_1A^{n-1} Fn​F1​An−1 由于递推式的每一项系数都为常数&#xff0c;因此对…...

3DMax中模型解组

1、从网上下载下来的模型是一个整体&#xff0c;需要解开查看每个样式 2、解开组...

链路聚合+vrrp

1.链路聚合 作用注意事项将多个物理接口&#xff08;线路&#xff09;逻辑上绑定在一起形成一条逻辑链路&#xff0c;起到叠加带宽的作用1.聚合接口必须转发速率一致。2.聚合设备两端必须一致 配置命令 方法一 [Huawei]interface Eth-Trunk 0----先创建聚合接口&#xff0c;…...

0 std::process::Command 介绍

std::process::Command 是 Rust 标准库中用于创建和配置子进程的主要类型。它允许你启动新的进程、设置其参数和环境变量、重定向输入/输出等。 基本用法 use std::process::Command;let output Command::new("echo").arg("Hello, world!").output().ex…...

Android 中Intent 相关问题

在回答 Intent 问题时&#xff0c;清晰区分其 定义、类型 和 应用场景。以下是的回答策略&#xff1a; 一、Intent 的核心定义 Intent 是 Android 系统中的 消息传递对象&#xff0c;主要用于三大场景&#xff1a; 2. 隐式 Intent&#xff08;Implicit Intent&#xff09; 三、…...

【Docker】Docker Desktop镜像存储路径设置方法

在 Docker Desktop 中设置镜像存储路径&#xff08;即下载的镜像文件存放位置&#xff09;取决于你的操作系统。以下是不同系统下的设置方法&#xff1a; Windows 系统 完全卸载后重新安装指定路径&#xff08;Docker Desktop for Windows 默认使用 C:\ProgramData\Docker&…...

Spring Boot 3.x 中 WebClient 全面详解及示例

Spring Boot 3.x 中 WebClient 全面详解及示例 1. WebClient 简介 定义&#xff1a;Spring 5 引入的响应式 HTTP 客户端&#xff0c;用于替代 RestTemplate&#xff08;已弃用&#xff09;&#xff0c;支持异步非阻塞的 HTTP 请求。核心特性&#xff1a; 支持所有 HTTP 方法&a…...

将图片按照指定大小批量进行裁剪(可设置步长_python)

将图片按照指定大小批量进行裁剪(可设置步长_python) import os from PIL import Image# 设置更高的图像大小限制&#xff0c;禁用解压炸弹检查 Image.MAX_IMAGE_PIXELS None # 禁用解压炸弹检查def crop_image(image_path, block_size(640, 640), step_size(340, 340)):# 打…...

设计模式 --- 原型模式

原型模式是创建型模式的一种&#xff0c;是在一个原型的基础上&#xff0c;建立一致的复制对象的方式。这个原型通常是我们在应用程序生命周期中需要创建多次的一个典型对象。为了避免初始化新对象潜在的性能开销&#xff0c;我们可以使用原型模式来建立一个非常类似于复印机的…...

工作经验记录

坑 部门例会上:跨级暴露问题.部门例会上:说话没有条理,周报写得好,但是表达效果不同.领导直接要求的任务没有当时推进:需考虑GTD清单.不要马后炮领导签字要按顺序 会议上 发言有条理问题不要越级暴露不要强调过程 对同事 对领导 领导同意的文件最好当日通过. 对供应商 不…...

Unity中基于2.5D的碰撞系统

在2.5D游戏中实现精确的碰撞检测是一个关键挑战&#xff0c;因为我们需要在视觉上有深度感的同时保持游戏逻辑的准确性。下面我将详细解析2.5D碰撞系统的实现方法。 1. 2.5D碰撞的核心问题 1.1 Z轴深度与碰撞的关系 视觉表现&#xff1a;物体通过Y轴位置影响Z轴排序&#xff…...

设计模式-命令模式详解

命令模式详解及真实场景解决方案 模式定义 命令模式是一种行为设计模式&#xff0c;将请求封装为独立对象&#xff0c;包含执行操作所需的所有信息。通过这种方式&#xff0c;可以实现请求的参数化、队列管理、撤销/重做等高级功能&#xff0c;同时解耦请求发送者与接收者。 …...

基于Python(Django)+SQLite 实现(Web) 点菜管理系统

点菜管理系统 课程设计任务与要求 1、任务 题目&#xff1a;点菜管理信息系统 问题描述&#xff1a; 随着网络的迅速发展&#xff0c;越来越多的人开始接受甚至时依赖了网络营业的这种交易形式&#xff0c;传统的点菜模式不仅浪费时间&#xff0c;效率低下&#xff0c;而且…...

泰鸿万立上市:加强产品规划和前瞻性研发 打造优质汽车零部件制造商

4月9日&#xff0c;浙江泰鸿万立科技股份有限公司&#xff08;股票简称“泰鸿万立”&#xff0c;股票代码“603210”&#xff09;正式登陆上交所主板。 招股书显示&#xff0c;泰鸿万立主营业务为汽车结构件、功能件的研发、生产与销售。经过十余年发展&#xff0c;公司拥有了…...

Charles的安装和使用教程

Charles抓包工具与Sniff Master在Windows上的安装与使用指南 1. Charles抓包工具安装 1.1 下载Charles 进入Charles官网(https://www.charlesproxy.com/download/)下载最新版本的安装包 1.2 安装与激活 正常安装后&#xff0c;打开会提示试用版30天限制进入授权码生成页面…...

论文阅读笔记:Adaptive Multi-Modal Cross-Entropy Loss for Stereo Matching

论文阅读笔记&#xff1a;Adaptive Multi-Modal Cross-Entropy Loss for Stereo Matching 1 背景2 创新点3 方法4 模块4.1 基础和问题描述4.2 自适应多模态概率模型4.3 主模态视差估计器 5 效果6 结论 1 背景 尽管深度学习在立体匹配方面取得了巨大成功&#xff0c;但恢复准确…...

JavaScript学习教程,从入门到精通,JavaScript 运算符及语法知识点详解(8)

JavaScript 运算符及语法知识点详解 一、JavaScript 运算符 1. 算术运算符 用于执行数学运算&#xff1a; 加法- 减法* 乘法/ 除法% 取模&#xff08;余数&#xff09; 递增-- 递减** 幂运算&#xff08;ES6&#xff09; let a 10, b 3; console.log(a b); // 13 conso…...

聊聊Spring AI的ETL Pipeline

序 本文主要研究一下Spring AI的ETL Pipeline DocumentReader org/springframework/ai/document/DocumentReader.java public interface DocumentReader extends Supplier<List<Document>> {default List<Document> read() {return get();}}有TextReader…...

spark架构和RDD相关概念

运行架构&#xff1a; Spark采用master - slave结构&#xff0c;Driver作为master负责作业任务调度&#xff0c;Executor作为slave负责实际执行任务。 核心组件 Driver&#xff1a;执行Spark任务的main方法&#xff0c;将用户程序转化为作业&#xff0c;在Executor间调度任务&…...

Cloud Kernel SIG 季度动态:发布ANCK 6.6-003版本,支持一测多证

Cloud Kernel SIG&#xff08;Special Interest Group&#xff09;&#xff1a;支撑龙蜥内核版本的研发、发布和服务&#xff0c;提供生产可用的高性价比内核产品。 01 SIG 整体进展 发布 ANCK 6.6-003 版本。 一测多证流程建立。 OOT 驱动基线更新。 海光平台适配进展更新…...

【11】数据结构之基于线性表的查找算法

目录标题 平均查找长度ASL(Average Search Length)顺序表查找法折半查找法索引顺序查找法 平均查找长度ASL(Average Search Length) 定义&#xff1a;为确定元素在列表中的位置&#xff0c;需要和给定值进行比较的关键字个数的期望值&#xff0c;称之为查找算法成功时的平均查…...

铼赛智能Edge mini斩获2025法国设计大奖 | 重新定义数字化齿科美学

铼赛智能&#xff08;RAYSHAPE&#xff09;革命性新品——椅旁3D打印机Edge mini荣获2025年法国设计奖&#xff08;FRENCH DESIGN AWARDS&#xff0c;简称FDA&#xff09;产品设计类大奖。作为全球工业设计领域最具影响力的奖项之一&#xff0c;这一殊荣不仅是对产品极简美学的…...

成为一种国家战略范畴的新基建的智慧园区开源了

智慧园区场景视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。用户只需在界…...

Codeforces Round 1016 (Div. 3)题解

题目地址 https://codeforces.com/contest/2093 锐评 在所有题意都理解正确的情况下&#xff0c;整体难度不算太难。但是偏偏存在F这么恶心的题意&#xff0c;样例都不带解释一下的&#xff0c;根本看不懂题。D题也恶心&#xff0c;在于递归过程的拆分&#xff0c;需要点数学…...

安全理念和安全产品发展史

从安全理念的发展历史来看,技术与产品的演进始终围绕 “威胁对抗” 与 “业务适配” 两大核心展开。以下从七个关键阶段解析安全技术与产品的发展脉络,并结合最新实践与未来趋势提供深度洞察: 一、密码学奠基阶段(1970s 前) 安全理念:以 “信息保密” 为核心,防御手段…...

【深度学习】Downstream Model:预训练模型的下游应用与微调技术

Downstream Model&#xff1a;预训练模型的下游应用与微调技术 文章目录 Downstream Model&#xff1a;预训练模型的下游应用与微调技术1 什么是Downstream Model&#xff08;下游模型&#xff09;2 预训练模型与下游任务的关系3 微调技术与迁移学习微调的必要性高效迁移学习参…...

每日算法-250409

这是我今天的算法学习记录。 2187. 完成旅途的最少时间 题目描述 思路 二分查找 解题过程 为什么可以使用二分查找&#xff1f; 问题的关键在于寻找一个最小的时间 t&#xff0c;使得在时间 t 内所有公交车完成的总旅途次数 sum 大于等于 totalTrips。 我们可以观察到时间的单…...

【CSS 选择器组合规则详解】

基础选择器组合 空格&#xff1a;后代选择器 > 直接子元素选择器 . 类选择器 : 伪类选择器 多类选择器 .class1.class2 &#xff1a;多类组合 .class1 .class2 &#xff1a;类的所有后代 .class1 > .class2 &#xff1a;类的子元素特殊选择器 :nth-child() :nth-of-…...

手机静态ip地址怎么获取?方法与解析‌

而在某些特定情境下&#xff0c;我们可能需要为手机设置一个静态IP地址。本文将详细介绍手机静态IP地址详解及获取方法 一、什么是静态IP地址&#xff1f; 静态IP&#xff1a;由用户手动设置的固定IP地址&#xff0c;不会因网络重启或设备重连而改变。 动态IP&#xff1a;由路…...

NumPy对二维矩阵中的每个元素进行加减乘除和对数运算

使用NumPy对二维矩阵中的每个元素进行加减乘除和对数运算的方法如下&#xff1a; 1. 加减乘除运算 对每个元素进行标量运算&#xff0c;可直接使用算术运算符。 示例代码&#xff1a; import numpy as nparr np.array([[1, 2], [3, 4]])# 加法 result_add arr 5 print(&…...

基于C8051F340单片机的精确定时1S的C程序

一、前言 C8051F340单片的定时器2 是一个 16 位的计数器/定时器&#xff0c;由两个 8 位的 SFR 组成&#xff1a;TMR2L&#xff08;低字节&#xff09;和TMR2H&#xff08;高字节&#xff09;。定时器 2 可以工作在 16 位自动重装载方式、8 位自动重装载方式&#xff08;两个 …...

提升Windows安全的一些措施

由简单到复杂&#xff0c;仅供参考 一、杀毒软件&#xff1a; 1、杀毒能力&#xff1a; https://haokan.hao123.com/v?vid3883775443252827335&pdhaokan_share 2、使用注意&#xff1a; 一台主机只安装一个杀毒软件就可以了 杀毒软件会误报&#xff0c;造成正常文件…...

中科岩创基坑自动化监测解决方案

1.行业现状 城市基坑开挖具有施工风险高、施工难度大等特点。由于地下土体性质、荷载条件、施工环境的复杂性&#xff0c;单根据地质勘察资料和室内土工试验参数来确定设计和施工方案&#xff0c;往往含有许多不确定因素&#xff0c;对在施工过程中引发的土体性状、环境、邻近建…...

Elasticsearch 系列专题 - 第二篇:数据建模与索引管理

在掌握了 Elasticsearch 的基本概念和操作后,本篇将重点介绍如何设计和管理索引,以及如何高效地导入和维护数据。这对于构建一个高效、可扩展的搜索系统至关重要。 1. 索引设计 1.1 如何选择合适的索引结构 索引是 Elasticsearch 的核心,设计时需考虑以下因素: 数据用途:…...

解决缓存穿透的布隆过滤器与布谷鸟过滤器:谁更适合你的应用场景?

目录 一、布隆过滤器&#xff1a;高效的空间节省者 1.1 布隆过滤器是什么&#xff1f; 1.2 工作原理 1.3 优点 1.4 缺点 1.5 适用场景 二、布谷鸟过滤器&#xff1a;解决删除难题的创新者 2.1 布谷鸟过滤器是什么&#xff1f; 2.2 工作原理 2.3 优点 2.4 缺点 2.5 适用场景 三、…...

OpenHarmony子系统开发 - 调测工具(一)

OpenHarmony子系统开发 - 调测工具&#xff08;一&#xff09; 一、bytrace使用指导 简介 bytrace是开发人员用于追踪进程轨迹、分析性能的一种工具&#xff0c;主要对内核ftrace进行了封装和扩展&#xff0c;来支持用户态的打点。通过该工具可以打开想要查看的用户态和内核l…...

Qt中的鼠标事件

1.鼠标进入事件和鼠标离开事件 1.1添加新文件 1.2ui界面 拖出一个Label控件&#xff0c;修改frameShape为Box&#xff0c;使边框更明显 1.3代码实现 #ifndef MYLABEL_H #define MYLABEL_H#include <QLabel>class myLabel : public QLabel {Q_OBJECT public:explicit m…...