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

【QT】一个界面中嵌入其它界面(三)

在 Qt 中,通过 UI 设计代码布局 实现界面 A 中同时显示界面 B 和 C,并精确指定它们的位置,可以通过以下两种方式实现。以下是详细步骤和完整代码:


方法 0:使用 Qt Designer 可视化布局

通过 Qt Designer 拖拽控件并设置布局,直观控制子界面的位置。

步骤
  1. 创建子界面 B 和 C

    • 新建两个自定义 QWidget 类(如 WidgetBWidgetC),并在 Qt Designer 中设计它们的 UI。
    • 保存为 .ui 文件(例如 widgetb.uiwidgetc.ui)。
  2. 提升为自定义控件

    • 在主界面 A 的 .ui 文件中,拖入两个 QGridLayout 控件。
    • 两个控件分别重命名为 WidgetB_glWidgetC_gl
  3. 设置布局或绝对位置

WidgetB* widgetb= new WidgetB(this);
WidgetC* widgetc= new WidgetC(this);ui->WidgetB_gl->addWidget(widgetb); 
ui->WidgetC_gl->addWidget(widgetc);

方法 1:使用 Qt Designer 可视化布局

通过 Qt Designer 拖拽控件并设置布局,直观控制子界面的位置。

步骤
  1. 创建子界面 B 和 C

    • 新建两个自定义 QWidget 类(如 WidgetBWidgetC),并在 Qt Designer 中设计它们的 UI。
    • 保存为 .ui 文件(例如 widgetb.uiwidgetc.ui)。
  2. 提升为自定义控件

    • 在主界面 A 的 .ui 文件中,拖入两个 QWidget 控件。
    • 右键点击这两个 QWidget,选择 Promote to…,分别提升为 WidgetBWidgetC
  3. 设置布局或绝对位置

    • 使用布局管理器:将界面 B 和 C 拖入 QGridLayoutQHBoxLayout/QVBoxLayout,调整行列位置。
    • 绝对位置:取消布局管理器,直接拖拽调整 WidgetBWidgetC 的位置和大小。

方法 2:纯代码实现布局

通过代码动态创建子界面并添加到指定位置。

完整代码示例
1. 子界面 B 和 C 的定义
// WidgetB.h
#ifndef WIDGETB_H
#define WIDGETB_H#include <QWidget>
#include <QLabel>
#include <QVBoxLayout>class WidgetB : public QWidget {Q_OBJECT
public:explicit WidgetB(QWidget* parent = nullptr);
};#endif // WIDGETB_H// WidgetB.cpp
#include "WidgetB.h"WidgetB::WidgetB(QWidget* parent) : QWidget(parent) {QLabel* label = new QLabel("子界面 B", this);label->setAlignment(Qt::AlignCenter);QVBoxLayout* layout = new QVBoxLayout(this);layout->addWidget(label);setStyleSheet("background-color: #FFCCCC;"); // 粉色背景
}
// WidgetC.h
#ifndef WIDGETC_H
#define WIDGETC_H#include <QWidget>
#include <QLabel>
#include <QVBoxLayout>class WidgetC : public QWidget {Q_OBJECT
public:explicit WidgetC(QWidget* parent = nullptr);
};#endif // WIDGETC_H// WidgetC.cpp
#include "WidgetC.h"WidgetC::WidgetC(QWidget* parent) : QWidget(parent) {QLabel* label = new QLabel("子界面 C", this);label->setAlignment(Qt::AlignCenter);QVBoxLayout* layout = new QVBoxLayout(this);layout->addWidget(label);setStyleSheet("background-color: #CCFFCC;"); // 绿色背景
}

2. 主界面 A 的实现
// WidgetA.h
#ifndef WIDGETA_H
#define WIDGETA_H#include <QWidget>
#include <QGridLayout>
#include "WidgetB.h"
#include "WidgetC.h"class WidgetA : public QWidget {Q_OBJECT
public:explicit WidgetA(QWidget* parent = nullptr);
};#endif // WIDGETA_H// WidgetA.cpp
#include "WidgetA.h"WidgetA::WidgetA(QWidget* parent) : QWidget(parent) {// 创建网格布局QGridLayout* gridLayout = new QGridLayout(this);// 创建子界面 B 和 C,并指定父对象为 AWidgetB* widgetB = new WidgetB(this);WidgetC* widgetC = new WidgetC(this);// 将 B 和 C 添加到网格布局的指定位置gridLayout->addWidget(widgetB, 0, 0);  // 第 0 行,第 0 列(左上角)gridLayout->addWidget(widgetC, 1, 1);  // 第 1 行,第 1 列(右下角)// 设置布局边距和间距gridLayout->setContentsMargins(20, 20, 20, 20);gridLayout->setSpacing(15);// 设置主界面背景色setStyleSheet("background-color: #F0F0F0;");resize(600, 400); // 初始窗口大小
}

3. 主函数
// main.cpp
#include <QApplication>
#include "WidgetA.h"int main(int argc, char* argv[]) {QApplication app(argc, argv);WidgetA widgetA;widgetA.setWindowTitle("多子界面布局示例");widgetA.show();return app.exec();
}

效果说明

  • 布局管理器控制

    • 子界面 B 位于左上角(第 0 行第 0 列),子界面 C 位于右下角(第 1 行第 1 列)。
    • 窗口缩放时,子界面会按布局比例自动调整位置和大小。
  • 自定义样式

    • 子界面 B 为粉色背景,子界面 C 为绿色背景,主界面为灰色背景,便于观察位置。

扩展:手动指定绝对坐标

如果希望子界面位置固定(不随窗口缩放变化),可以使用 setGeometry

// WidgetA.cpp(替代布局代码)
WidgetA::WidgetA(QWidget* parent) : QWidget(parent) {// 创建子界面 B 和 CWidgetB* widgetB = new WidgetB(this);WidgetC* widgetC = new WidgetC(this);// 手动设置位置和大小widgetB->setGeometry(50, 50, 200, 150);   // (x, y, width, height)widgetC->setGeometry(300, 200, 200, 150);// 设置主界面背景色和大小setStyleSheet("background-color: #F0F0F0;");resize(600, 400);
}

关键点总结

  1. 父子关系:确保子界面(B 和 C)的父对象为 WidgetA(通过构造函数或 setParent)。
  2. 布局管理器
    • 使用 QGridLayoutQHBoxLayoutQVBoxLayout 实现动态布局。
    • 通过行列索引(如 gridLayout->addWidget(widget, row, col))精确控制位置。
  3. 绝对坐标
    • 使用 setGeometry(x, y, width, height)move() + resize() 固定位置。
    • 需在窗口大小变化事件(resizeEvent)中手动调整子界面位置。
  4. 样式调试:通过 setStyleSheet 设置背景色,直观观察子界面位置。

扩展场景

  • 动态添加/移除子界面:通过按钮点击事件调用 addWidget()removeWidget()
  • 交互通信:在子界面中定义信号,主界面中绑定槽函数,实现数据传递。
  • 复杂布局:嵌套使用多种布局管理器(如将 QHBoxLayout 嵌入 QGridLayout)。

通过上述方法,可以灵活地在 Qt应用中实现多子界面的精确布局。

相关文章:

【QT】一个界面中嵌入其它界面(三)

在 Qt 中&#xff0c;通过 UI 设计 或 代码布局 实现界面 A 中同时显示界面 B 和 C&#xff0c;并精确指定它们的位置&#xff0c;可以通过以下两种方式实现。以下是详细步骤和完整代码&#xff1a; 方法 0&#xff1a;使用 Qt Designer 可视化布局 通过 Qt Designer 拖拽控件…...

实战教程:影刀RPA采集闲鱼商品并分享钉钉

1.实战目标 采集字段&#xff1a; 采集时间商品ID商品标题标价商品链接 采集的第一个品 可通过钉钉分享给好友 也可以通过钉钉群通知指令&#xff0c;发送到指定群 2.实战代码 2.1 主体代码 2.2 采集初始化 先初始化环境 这一步骤主要是连接手机&#xff0c;能使用影刀RPA操…...

多模态大语言模型arxiv论文略读(八十二)

Emotion-LLaMA: Multimodal Emotion Recognition and Reasoning with Instruction Tuning ➡️ 论文标题&#xff1a;Emotion-LLaMA: Multimodal Emotion Recognition and Reasoning with Instruction Tuning ➡️ 论文作者&#xff1a;Zebang Cheng, Zhi-Qi Cheng, Jun-Yan H…...

常见排序算法整理(Java实现)

1.冒泡排序&#xff08;Bubble Sort&#xff09; 原理 重复遍历数组&#xff0c;比较相邻元素&#xff0c;若顺序错误则交换。每趟将最大元素"冒泡"到末尾。 每次遍历保证了最大元素被放在最后&#xff0c;所以内层循环不需要遍历到最后的位置。 代码实现 public …...

c++字符串常用语法特性查询示例文档(二)

在 C中&#xff0c;除了std::string和std::string_view&#xff0c;还有其他一些与字符串相关的类型&#xff0c;它们各自针对不同的场景进行了优化。以下是一些常见的字符串类型及其使用方式和适用场景的汇总。 紧接上篇 c字符串常用语法特性查询示例文档&#xff08;一&#…...

10.14 Function Calling与Tool Calling终极解析:大模型工具调用的5大核心差异与实战优化

Function Calling vs Tool Calling:大模型工具调用机制深度解析 关键词:Function Calling 原理, Tool Calling 实现, @tool 装饰器, ToolMessage 机制, 工具调用优化 1. 核心概念对比分析 #mermaid-svg-uDxSPB1CoQrHDxrT {font-family:"trebuchet ms",verdana,ari…...

opencascade如何保存选中的面到本地

环境&#xff1a;occ 7.6 需求场景&#xff1a;用户点击了一个TopoDS_Shape&#xff0c;还选中了其中一个面&#xff0c;这时候他点了保存。用户下次打开模型文件时&#xff0c;我们的viewer窗口要恢复上次的选中状态。 核心问题&#xff1a;如何把用户选中的面保存&#xff0c…...

CSS 单位详解:px、rem、em、vw/vh 的区别与使用场景

CSS 单位详解&#xff1a;px、rem、em、vw/vh 的区别与使用场景 在 CSS 中&#xff0c;各种单位有不同的特性和适用场景&#xff0c;理解它们的区别对实现响应式布局至关重要。 1. 绝对单位 px 特点&#xff1a; 像素&#xff08;Pixel&#xff09;是绝对长度单位1px 对应屏…...

YOLO模型predict(预测/推理)的参数设置

上一章描述了预测初体验,基本可以使用现有的yolo模型进行预测/推理。本次我们了解一下这个过程中的参数的作用。 1.参数示例 conf=0.68 :表示模型识别这个东西是车的概率为68% 。一般默认的情况下,概率小于25%的就不显示了。 1)调整一下python的代码的参数如下,可以预测图…...

MATLAB中NLP工具箱支持聚类算法

文章目录 前言一、层次聚类&#xff08;Hierarchical Clustering&#xff09;二、DBSCAN&#xff08;基于密度的空间聚类&#xff09;三、高斯混合模型&#xff08;GMM&#xff09;四、谱聚类&#xff08;Spectral Clustering&#xff09;五、模糊 C 均值&#xff08;Fuzzy C-M…...

甘特图工具怎么选?免费/付费项目管理工具对比测评(2025最新版)

2025年甘特图工具的全面指南 在项目管理领域&#xff0c;甘特图作为最直观的任务规划和进度追踪工具&#xff0c;已成为团队协作和项目执行的核心手段。随着数字化技术的快速发展&#xff0c;2025年的甘特图工具市场呈现出前所未有的多元化和智能化趋势。从开源软件到云端协作…...

Google设置app-ads.txt

问题&#xff1a; 应用上架后admob后台显示应用广告投放量受限&#xff0c;需要设置app-ads.txt才行。 如何解决&#xff1a; 官方教程: 看了下感觉不难&#xff0c;创建一个txt&#xff0c;将第二条的代码复制进行就得到app-ads.txt了。 然后就是要把这个txt放到哪才可以…...

Swift 二分查找实战:精准定位第一个“Bug版本”(LeetCode 278)

文章目录 摘要描述示例 题解答案&#xff08;Swift&#xff09;题解代码分析示例测试及结果输出结果&#xff1a; 时间复杂度分析空间复杂度分析总结 摘要 在版本迭代频繁的项目开发中&#xff0c;定位引入 bug 的第一个版本是一项高频任务。LeetCode 第278题“第一个错误的版…...

《AI革命重塑未来五年:医疗诊断精准度翻倍、自动驾驶事故锐减90%,全球科技版图加速变革》

1. 显著突破领域&#xff1a;AI 引发医疗与自动驾驶的范式变革 医疗领域的突破&#xff1a; AI正深刻改变医学研发和临床诊疗模式。在新药研发现代生物学中&#xff0c;DeepMind公司推出的 AlphaFold AI 模型在蛋白质折叠预测上取得了重大突破&#xff0c;被视为解决了困扰科学…...

【盈达科技】AICC™系统:重新定义生成式AI时代的内容竞争力

盈达科技AICC™系统&#xff1a;重新定义生成式AI时代的内容竞争力 ——全球首款AI免疫化内容中台的技术革命与商业实践 一、技术破局&#xff1a;AICC™系统如何重构AI内容生态 1. 技术架构&#xff1a;四大引擎构建闭环护城河 盈达科技AICC™&#xff08;AI-Immunized Con…...

芯驰科技与安波福联合举办技术研讨会,深化智能汽车领域合作交流

5月15日&#xff0c;芯驰科技与全球移动出行技术解决方案供应商安波福&#xff08;Aptiv&#xff09;在上海联合举办以“芯智融合&#xff0c;共赢未来”为主题的技术研讨会。会上&#xff0c;双方聚焦智能座舱与智能车控的发展趋势&#xff0c;展开深入交流与探讨&#xff0c;…...

开发 前端搭建npm v11.4.0 is known not to run on Node.js v14.18.1.

错误nodejs 和npm 版本不一致 ERROR: npm v11.4.0 is known not to run on Node.js v14.18.1. This version of npm supports the following node versions: ^20.17.0 || >22.9.0. You can find the latest version at https://nodejs.org/. ERROR: D:\softTool\node-v14…...

关于systemverilog中在task中使用force语句的注意事项

先看下面的代码 module top(data);logic clk; inout data; logic temp; logic sampale_data; logic [7:0] data_rec;task send_data(input [7:0] da);begin(posedge clk);#1;force datada[7];$display(data);(posedge clk);#1;force datada[6]; $display(data); (posed…...

国产 iPaaS 与国外 iPaaS 产品相比如何?以谷云科技为例

iPaaS&#xff08;Integration Platform as a Service&#xff09;作为企业集成的关键技术&#xff0c;受到了广泛关注。国产 iPaaS 产品与国外 iPaaS 产品存在诸多差异&#xff0c;以下将从多个方面进行分析探讨。 一、技术架构与创新 国外 iPaaS 产品往往技术架构成熟且先进…...

低功耗:XILINX FPGA如何优化功耗?

优化Xilinx FPGA及其外围电路的功耗需要从硬件设计、软件配置和系统级优化三个层面综合考虑。以下是具体的优化策略&#xff0c;涵盖硬件和软件方面&#xff1a; 一、硬件层面的功耗优化 选择低功耗FPGA型号 选择Xilinx低功耗系列芯片&#xff0c;如7系列中的Artix-7&#xff…...

从纸质契约到智能契约:AI如何改写信任规则与商业效率?​——从智能合约到监管科技,一场颠覆传统商业逻辑的技术革命

一、传统合同的“低效困境”&#xff1a;耗时、昂贵、风险失控 近年来&#xff0c;全球商业环境加速向数字化转型&#xff0c;但合同管理却成为企业效率的“阿喀琉斯之踵”。据国际商会&#xff08;International Chamber of Commerce&#xff09;数据显示&#xff0c;全球企业…...

在金融发展领域,嵌入式主板有什么优点?

在金融发展领域&#xff0c;嵌入式主板能够有力推动金融行业的智能化与高效化进程。主板的强大计算能力可以保障业务高效运行。例如在银行的高频交易场景下&#xff0c;其强大计算能力可确保系统在高负荷下依然保持流畅稳定&#xff0c;快速响应用户需求&#xff0c;大大提升金…...

打卡Day30

导入官方库的三种手段 方法一&#xff1a;直接导入整个模块 import math print(math.sqrt(16)) # 输出: 4.0方法二&#xff1a;从模块中导入特定函数或类 from datetime import datetime now datetime.now() print(now) # 输出当前日期和时间方法三&#xff1a;使用别名简…...

AI量化交易是什么?它是如何重塑金融世界的?

第一章&#xff1a;证券交易的进化之路 1.1 从喊价到代码&#xff1a;交易方式的革命性转变 在电子交易普及之前&#xff0c;证券交易依赖于交易所内的公开喊价系统。交易员通过手势、喊话甚至身体语言传递买卖信息&#xff0c;这种模式虽然直观&#xff0c;但效率低下且容易…...

AIGC与数字金融:人工智能金融创新的新纪元

AIGC与数字金融&#xff1a;人工智能金融创新的新纪元 引言 人工智能生成内容&#xff08;AIGC&#xff09;在数字金融领域发挥着关键作用&#xff0c;从金融内容生成到智能风控&#xff0c;从个性化服务到投资决策&#xff0c;AIGC正在重塑金融的方式和效果。本文将深入探讨A…...

芯片生态链深度解析(四):芯片制造篇——纳米尺度上的精密艺术

开篇&#xff1a;芯片制造——现代工业的"皇冠明珠" 在芯片生态链的版图中&#xff0c;芯片制造是连接设计与封测的核心枢纽&#xff0c;堪称现代工业的“皇冠明珠”。如果说芯片设计是人类对微观世界的构想&#xff0c;那么制造便是将这种构想转化为现实的终极工程…...

黄金批次在流程和离散行业的概念解析

流程行业 概念 流程行业中: “黄金批次”:通常指生产过程中质量最优、性能最稳定、符合甚至超越所有关键指标的特定批次产品。这类批次在流程行业中具有标杆意义,常用于质量控制、工艺优化和客户交付。 核心特征 在流程行业中,“黄金批次”的核心特征包括: 1、质量一…...

Transformer实战——循环神经网络详解

Transformer实战——循环神经网络详解 0. 前言1. 基本循环神经网络单元1.1 循环神经网络工作原理1.2 时间反向传播1.3 梯度消失和梯度爆炸问题 2. RNN 单元变体2.1 长短期记忆2.2 门控循环单元2.3 Peephole LSTM 3. RNN 变体3.1 双向 RNN3.2 状态 RNN 4. RNN 拓扑结构小结 0. 前…...

基于Qt的app开发第九天

写在前面 笔者的课设截止时间已经越来越近了&#xff0c;还有不少地方的功能没有完成&#xff0c;所以重构一事还是放到做完整个项目、学完设计模式再考虑。目前就是继续往屎山堆屎。 需求分析 笔者的学长要做多线程&#xff0c;传数据的时候涉及到互斥锁之类的内容&#xff0…...

Baklib内容中台驱动资源管理创新

内容中台驱动智能整合 现代企业数字化进程中&#xff0c;内容中台通过结构化数据治理与智能算法协同&#xff0c;有效解决跨系统内容孤岛问题。以Baklib为例&#xff0c;其核心功能通过多语言支持与API接口集成能力&#xff0c;实现营销素材、产品文档等异构资源的统一索引与动…...

项目记录:「五秒反应挑战」小游戏的开发全过程

我正在参加CodeBuddy「首席试玩官」内容创作大赛&#xff0c;本文所使用的 CodeBuddy 免费下载链接&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 灵感来源与目标设定 最近我突然有个小想法&#xff1a;想做一个简洁但富有科技感的小型游戏&#xff0c;最好能…...

Git本地使用小Tips

要将本地仓库 d:\test 的更新推送到另一个本地仓库 e:\test&#xff0c;可以使用 Git 的远程仓库功能。以下是具体步骤&#xff1a; ​​在 e:\test 中添加 d:\test 作为远程仓库​​ 在 e:\test 目录中打开 Git Bash 或命令行&#xff0c;执行以下命令&#xff1a; git remo…...

【AWS入门】AWS身份验证和访问管理(IAM)

【AWS入门】AWS身份验证和访问管理&#xff08;IAM&#xff09; [AWS Essentials] AWS Identity and Access Management (IAM) By JacksonML 众所周知&#xff0c;AWS亚马逊云科技位列全球云计算服务第一位&#xff0c;并且持续为广大客户提供安全、稳定的各类云产品和服务。…...

【NLP】36. 从指令微调到人类偏好:构建更有用的大语言模型

从指令微调到人类偏好&#xff1a;构建更有用的大语言模型 大语言模型&#xff08;LLMs&#xff09;已经成为现代自然语言处理系统的核心&#xff0c;但单纯依赖传统语言建模目标&#xff0c;往往难以满足实际应用的“人类意图”。从 Instruction Tuning&#xff08;指令微调&…...

蓝桥杯1447 砝码称重

问题描述 你有一架天平和 N 个砝码&#xff0c;这 N 个砝码重量依次是 W1,W2,⋅⋅⋅,WN​。 请你计算一共可以称出多少种不同的重量&#xff1f; 注意砝码可以放在天平两边。 输入格式 输入的第一行包含一个整数 N。 第二行包含 N 个整数&#xff1a;W1,W2,W3,⋅⋅⋅,WN​…...

每日c/c++题 备战蓝桥杯(洛谷P4715 【深基16.例1】淘汰赛 题解)

洛谷P4715 【深基16.例1】淘汰赛 题解 题目大意 有 (2^n) 名选手进行淘汰赛&#xff0c;每场比赛两人对决&#xff0c;能力值高者胜出&#xff1b;若能力值相同&#xff0c;则编号较小者胜出。最终决出冠军&#xff0c;要求输出亚军的编号。 解题思路 关键观察&#xff1a;…...

基于深度学习的电力负荷预测研究

一、深度学习模型框架 在当今数字化时代&#xff0c;基于深度学习的电力负荷预测研究正成为保障电力系统稳定、高效运行的关键领域。其模型构建是一个复杂而精妙的过程&#xff0c;涉及多学科知识与前沿技术的融合应用。首先&#xff0c;要明确电力负荷预测的目标&#xff0c;…...

没有 Mac,我如何用 Appuploader 完成 iOS App 上架

没有 Mac&#xff0c;我如何用 Appuploader 完成 iOS App 上架&#xff5c;一个跨平台开发者的实战笔记 在做移动开发这些年里&#xff0c;唯一让我频繁想砸电脑的时刻&#xff0c;大概就是每次要把 iOS App 上传到 App Store。 作为一个主要在 Windows 和 Linux 开发的程序员…...

卓力达手撕垫片:精密制造的创新解决方案与多领域应用

目录 引言 一、手撕垫片的技术特性与核心功能 二、手撕垫片的多领域应用 三、南通卓力达手撕垫片的核心优势 四、未来技术展望 结语 引言 手撕垫片作为一种创新型精密金属部件&#xff0c;凭借其“可分层剥离、快速安装”的特性&#xff0c;在工业制造、电子通信、航空航天等…...

[[春秋云境] Privilege仿真场景

文章目录 靶标介绍&#xff1a;知识点卷影拷贝(VSS) 外网任意文件读取Jenkins管理员后台rdp远程登录Gitlab apiToken 内网搭建代理 Oracle RCESeRestorePrivilege提权mimikatzspn卷影拷贝提取SAM 参考文章 靶标介绍&#xff1a; 在这个靶场中&#xff0c;您将扮演一名资深黑客…...

【工具推荐】--Git详解

本文讲诉&#xff0c;git命令环境的安装和git命令的介绍 Git 是一个非常流行的分布式版本控制系统&#xff0c;它帮助开发者管理和跟踪项目中的代码变化。通俗地说&#xff0c;可以认为 Git 就像是一个代码的时间机器&#xff0c;它记录了项目从开始到结束的每一次代码变动。 …...

在linux里上传本地项目到github中

首先先安装git&#xff0c;安装完git后&#xff0c;输入如下操作指令&#xff1a; 输入自己的用户名和邮箱&#xff08;为注册GITHUB账号时的用户名和邮箱&#xff09;&#xff1a; git config --global user.name "111"git config --global user.email "121…...

【基础】Windows开发设置入门8:Windows 子系统 (WSL)操作入门

前言 大家熟悉的docker、Python&#xff0c;但对于Windows上有一套开配合开发的相对底层的环境设置&#xff0c;包括powershell、winget、WSL、还有开发驱动器什么的&#xff0c;我准备系统学一下&#xff0c;不然地基不牢&#xff0c;也盖不起冲天高楼~ 本节&#xff0c;介绍…...

服务器上的Nano 编辑器进行git合并

使用git pull拉取后&#xff0c;出现如下部分&#xff1a; GNU nano 2.9.3 /data/zhouy24Files/embody/DSLab-embodied-intelligence/.git/MERGE_MSG Merge branch …...

【idea 报错:java: 非法字符: ‘\ufeff‘】

执行main方法报错&#xff1a;: ‘\ufeff’?package cn.com 截图如下&#xff1a;任何一个mian都不能执行&#xff0c;都报这个 写出来希望大家都能快速解决这种少见的问题&#xff0c;还不好弄。 我是参考这篇文章就好了&#xff1a;idea 报错&#xff1a;java: 非法字符: …...

BM25(Best Matching 25)介绍与使用

BM25&#xff08;Best Matching 25&#xff09;是一种基于概率检索框架的改进算法&#xff0c;主要用于信息检索中的相关性评分。它通过引入词频饱和函数、文档长度归一化等机制&#xff0c;克服了传统TF-IDF算法的局限性。 一、BM25的核心原理 1. 改进TF-IDF的三大维度 词频…...

.NET 函数:检测 SQL 注入风险

以下是一个用 C# 编写的 .NET 函数&#xff0c;用于检测用户输入是否存在潜在的 SQL 注入风险&#xff1a; using System; using System.Text.RegularExpressions;public class SqlInjectionChecker {// 常见 SQL 注入关键词和模式private static readonly string[] SqlKeywor…...

远程数据采集智能网关支持下的雨洪资源分布式监测网络搭建实践

一、项目背景 随着城市化进程的加快以及气候变化的影响&#xff0c;雨洪水管理成为了城市基础设施建设中的重要课题。传统的雨洪水监测手段主要依赖人工巡查和固定站点监测&#xff0c;存在数据获取不及时、不全面&#xff0c;以及在恶劣天气条件下人员安全隐患等诸多问题。为…...

LinuxYUM下载笔记

在基于RPM的Linux发行版&#xff08;如CentOS、RHEL、Fedora等&#xff09;中&#xff0c;YUM&#xff08;Yellowdog Updater Modified&#xff09;是默认的包管理工具&#xff0c;用于简化软件的安装、更新和依赖管理。以下是YUM的使用指南&#xff1a; 一、检查YUM是否安装 …...

研读论文《Attention Is All You Need》(7)

原文 14 3.2 Attention An attention function can be described as mapping a query and a set of key-value pairs to an output, where the query, keys, values, and output are all vectors. The output is computed as a weighted sum of the values, where the weight…...