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

QT对话框及其属性

Qt中使用QDialog类表示对话框

对话框是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互

QDialog也是继承自QWidget,可以使用QWidget接口

Qt常用的内置对话框有:

对话框

说明

QFiledialog

文件对话框

QColorDialog

颜色对话框

QFontDialog

字体对话框

QInputDialog

输入对话框

QMessageBox

消息框

例:

创建文件时选择继承自QDialog

创建好后直接运行

比QMainWindow和QWidget窗口多一个?,没有最小化,最大化

实际开发中一般不会直接在创建项目时将文件创建为基础自QDialog----一般不将主窗口作为一个对话框,而是在代码中创建额外的类,让额外的类继承自QDialog

在主窗口中通过点击一个按钮来弹出对话框,将主窗口设置为继承自QMainWindow

在ui界面创建一个PushButton

转到PushButton的clicked信号的槽函数进行实现,实现点击按钮后弹出对象框

若将对话框关闭后,再次点击按钮,又会弹出新的对话框,每次弹出的对话框是同一个吗?

不是,每次将对话框关闭后,再次点击按钮都又重新进行创建

因此在程序运行过程中,会创建除无数个对话框,造成内存泄漏,虽然将父元素设置为this,添加到对象树中,会自动销毁,但在窗口退出前不会销毁,也就是说当程序退出之前可能同时存在很对对话框

解决方法:

在用户点击对话框的关闭按钮时,触发delete将对话框销毁

通过QDialog提供的setAttribute(Qt::WA_DeleteOnClose)进行设置其属性,使对话框在关闭时自动delete

自定义对话框内容

继承自QDialog创建类

纯代码方式:

在ui界面创建一个PushButton

转到PushButton的clicked信号的槽函数进行实现自定义对话框,通过创建文件中的创建C++类实现

自定义类名,指定父类

创建好后多出一个头文件和cpp文件

在头文件中声明Dialog.h,对构造函数进行修改,使其能指定父元素

同时在dialog.cpp文件修改构造函数的定义,使其能指定父元素

在mainwindow.cpp文件包含dialog.h,定义pushbutton槽函数,创建自定义的dialog,进行大小,自动delete,弹出的设置

此时就能通过点击按钮弹出对话框

再在dialog.cpp构造函数处实现对话框的自定义,实现添加对话框控件

能够显示添加到对话框的控件,但是位置都在初始位置,通过布局管理器进行管理,在dialog头文件中声明handle,将pushbutton的信号槽进行连接,实现槽函数

在图形化界面创建自定义对话框

创建文件继承自QMainWindow,进入ui界面创建一个QPushButton

再创建一个文件---Qt的ui文件及对应的类

创建好后就有两个ui文件

在dialog.ui进行自定义对话框

转到对话框的按钮的clicked槽函数实现关闭对话框

再转到窗口的ui界面转到打开对话框按钮的clicked槽函数,实现打开对话框,及对话框初始化,需包含dialog.h

model---bool

模态/非模态,为true时是模态,为false时是非模态

模态:弹出对话框时,用户无法操作父窗口,必须完成对话框内部的操作,关闭对话框之后才能操作父窗口

非模态:弹出对话框后,用户可以操作父窗口

上面写的对话框都是非模态的,弹出对话框后,可以通过点击父窗口按钮弹出多个对话框

如:

如何产生模态对话框?

将show()操作替换为exec(),弹出的对话框就为模态对话框

此时就无法产生多个对话框

消息对话框

QMessageBox---QDialog的子类

消息对话框时应用程序中最常用的界面元素,主要用于为用户提示重要信息,强转用户进行选择操作

QMessageBox类中定义了静态成员函数,可以直接调用不同风格的消息对话框

图标格式

说明

NoIcon

无图标

Information

消息图标

Warning

提醒图标

Critical

严重图标

Question

问题图标

内置按钮

NoButton

Ok

Save

SaveAll

Open

Yes

YesToAll

No

NoToAll

Abort

Retry

Ignore

Close

Cancel

Discard

Help

Apply

Reset

RestoreDefaults

消息对话框是模态的

例:

在ui界面创建一个按钮,实现点击按钮弹出消息对话框

转到按钮的clicked的槽函数进行实现

在消息对话框添加自定义按钮

通过QMessageBox的addButton接口进行添加

addButton(const QAbstractButton* button,ButtonRole role);

第一个参数就是PushButton,第二个参数ButtonRole

ButtonRole

采用枚举类型,表示接收/拒绝等含义

通过信号槽实现相关操作

也可以通过用户点击按钮后的返回值来判断用户点击了什么按钮来实现对应操作

如:

直接通过QMessageBox提供的静态函数创建对话框

在ui界面创建一个按钮

转到按钮的clicked信号的槽函数进行实现

同样通过接收返回值来判断是点击了哪个按钮来执行对应操作

此处使用的是warning的静态函数

也可以使用Information,Critical,Question

颜色对话框

QColorDialog颜色对话框的功能是允许用户选择颜色,内置了调色板。

同样继承自QDialog类

常用方法

方法

说明

QColorDialog(QWidget* parent=nullptr)

创建对象的同时设置父对象

QColorDialog(const QColor

&initial,QWidget* parent=nullptr)

创建对象的同时通过QColor对象设置默认颜色和父对象

void setCurrentColor(const

QColor& color)

设置当前颜色对话框

QColor currentColor() const

获取当前颜色对话框

QColor getColor(const QColor

&initial=Qt::white,QWidget*

parent=nullptr,const QString&

title=QString(),QColorDialog::ColorDialogOptions

options=ColorDialogOptions())

  

打开颜色选择对话框,并返回一个QColor对象

getColor是一个静态函数,无需创建对话框对象,可以直接调用

例:

通过按钮弹出对话框

在ui界面创建一个按钮,转到他的clicked槽函数,调用静态函数进行颜色对话框弹出

返回值是QColor类型

可以使用返回的QColor类型,通过QSS的方式设置背景颜色

也可以使用sprintf的方式进行字符串拼接

文件对话框

QFileDialog文件对话框用于应用程序需要打开一个外部文件或将当前内容存储到指定的外部文件

常用方法

方法

说明

QString getOpenfileName()

打开文件,一次只能代开一个文件

QStringList getopenFileNames()

一次打开多个文件

QString getSaveFileName()

保存文件

例:

在ui界面创建两个按钮,一个实现打开文件,一个保存文件,转到槽函数进行实现

点击按钮就能实现弹出相应的文件管理器

点击文件进行打开后,就能获取到文件的完整路径

通过文件路径实现相应操作,需要额外实现

输入文件名,点击保存后,也是获得文件路径

而不是真的保存了,需要额外实现

字体对话框

QFontDialog字体对话框是Qt中提供的预定义的字体对话框类,用于提供选择字体的对话框部件

常用静态函数

使用时第一个参数为bool类型的指针,作为输出型参数,打开对话框后,若点击的是ok则bool类型的指针为true,若点击cancel则bool类型指针为false

例:

在ui界面创建一个pushbutton,实现其clicked槽函数,点击button弹出字体对话框

使用静态函数弹出字体对话框

当设置字体相关属性,返回的font就设置了对应属性,点击ok则返回bool指针为true

此时就可以通过font将设置的字体设置进文本

如设置进pushButton的文本

输入对话框

QInputDialog输入对话框,是Qt中提供的预定义的输入对话框类,用于进行临时数据输入,允许用户输入一个具体的数据---整数,浮点数,字符串等

常用方法

方法

说明

doublle getDouble()

双精度浮点型输入数据对话框

int getInt()

整形输入数据对话框

getItem()

条目输入数据对话框

例:

在ui界面创建一个按钮,定义其clicked信号的槽函数,实现打开整数输入对话框

可以通过键盘输入,也可以通过微调框进行微调

再在ui界面创建一个按钮,实现打开浮点数输入对话框

再在ui界面创建一个按钮,实现打开字符串输入对话框

通过QStringList创建输入条目

返回值为选择的条目被输入的内容

相关文章:

QT对话框及其属性

Qt中使用QDialog类表示对话框 对话框是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互 QDialog也是继承自QWidget,可以使用QWidget接口 Qt常用的内置对话框有: 对话框 说明 QFiledialog 文件对话框 QColorDialog 颜色对话框 …...

python怎么查看函数原型及变量是什么类型

python代码中看到一个变量或者对象名,怎么查看这个变量到底是个什么东西,是属性,还是函数,还是模块,还是个包,怎么去查看,要有一个查找流程: 1.可以先用print(变量名)和print(type(变量名)),确认变量是什么类型的参数 2.如果是模块或者类,可以通过dir()函数去查看模…...

住宅代理IP助力大规模数据采集实战

在数字化时代,数据就是燃料,而大规模数据采集则是从信息海洋中提炼价值的关键手段。面对目标网站的严格风控和地域限制,普通代理车轮战往往难以为继——流量一旦被识破,便可能付之东流。这时,住宅代理IP凭借来自真实家…...

【信息融合】卡尔曼滤波EKF毫米波雷达和红外数据信息融合

一、扩展卡尔曼滤波(EKF)的核心原理 EKF是针对非线性系统的改进卡尔曼滤波算法,其核心思想是通过一阶泰勒展开对非线性方程进行局部线性化,并利用雅可比矩阵(Jacobian Matrix)替换线性系统中的状态转移矩阵…...

一篇入门之-评分卡变量分箱(卡方分箱、决策树分箱、KS分箱等)实操例子

一、评分卡分箱-有哪些分箱方法 评分卡的分箱,是指将变量进行离散化。评分卡的分箱方法一般有:等频分箱、等距分箱、卡方分箱、决策树分箱、KS分箱等等。它们都属于自动分箱方法,其中,卡方分箱是实际中最常用的分箱方法。 1.1.等…...

【白雪讲堂】构建与优化企业知识图谱的实战指南

在GEO(生成式引擎优化)时代,知识图谱不仅是企业数据资产的“智慧大脑”,更是连接内容与AI理解之间的核心桥梁。一个高质量的知识图谱,能够显著提高AI平台对企业内容的识别度、相关性与推荐权重,从而在AI搜索…...

作为高速通道光纤传输模式怎么理解以及到底有哪些?

光纤的传输模式主要取决于光纤的结构(如纤芯直径和折射率分布),不同模式对应光波在光纤中传播的不同路径和电磁场分布。以下是光纤传输模式的主要分类及特点: 1. 单模光纤(Single-Mode Fiber, SMF) 核心特点: 纤芯直径极小(通常为 8-10微米),仅允许光以单一模式(…...

setup语法糖

为什么要有setup语法糖: 在选择式API中,一个模块涉及到的数据、方法、声明周期,会比较分撒,位置不集中,不利于解读代码,但是组合式API中的setup函数可以将他们组织在一起,提高了代码的可维护性…...

linux socket编程之tcp(实现客户端和服务端消息的发送和接收)

目录 一.创建socket套接字(服务器端) 二.bind将port与端口号进行绑定(服务器端) 2.1填充sockaddr_in结构 2.2bind绑定端口 三.建立连接 四.获取连接 五..进行通信(服务器端) 5.1接收客户端发送的消息 5.2给客户端发送消息 5.3引入多线程 六.客户端通信 6.1创建socke…...

Spring和Spring Boot集成MyBatis的完整对比示例,包含从项目创建到测试的全流程代码

以下是Spring和Spring Boot集成MyBatis的完整对比示例,包含从项目创建到测试的全流程代码: 一、Spring集成MyBatis示例 1. 项目结构 spring-mybatis-demo/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com.example/…...

Beta-VAE背景原理及解耦机制分析

Beta-VAE背景原理及解耦机制分析 论文链接:https://openreview.net/forum?idSy2fzU9gl&noteIdSy2fzU9gl 一、Beta-VAE的核心思想 Beta-VAE 是一种改进的变分自编码器(VAE),旨在通过调整潜在变量的独立性来增强模型的解耦能…...

用c语言实现——一个动态顺序存储的串结构

一、思路概要 ①动态顺序存储的串结构: 动态应该使用动态内存分配,也就是用指针来存储字符数组,同时记录长度和当前容量。 这样结构体应该包含三个成员:一个char*指针,一个int表示当前长度,另一个int表示…...

小程序Npm package entry file not found?

修改依赖包的入口文件 看是不是cjs,小程序不支持cjs...

vue3学习之防抖和节流

​ 在前端开发中,我们经常会遇到这样的情况:某些事件(如滚动、输入、点击等)会频繁触发,如果不加以控制,可能会导致性能问题。Vue3 中的防抖(Debounce)和节流(Throttle&a…...

当高级辅助驾驶遇上“安全驾校”:NVIDIA如何用技术给无人驾驶赋能?

高级辅助驾驶技术的商业化落地,核心在于能否通过严苛的安全验证。国内的汽车企业其实也在做高级辅助驾驶,但是吧,基本都在L2级别。换句话说就是在应急时刻内,还是需要人来辅助驾驶,AI驾驶只是决策层,并不能…...

Linux | Mfgtools 修改单独只烧写 Uboot,内核,文件系统

01 1. 打开 mfgtools_for_6ULL 文件夹,找到 cfg.ini 文件,如果您的板子是 EMMC 的修改如下图: 如果您的板子是 NAND 的,修改如下图: 02 2. 打开“Pro...

【Agent python实战】ReAct 与 Plan-and-Execute 的融合之道_基于DeepSeek api

写在前面 大型语言模型(LLM)驱动的 Agent 正在从简单的任务执行者向更复杂的问题解决者演进。在 Agent 的设计模式中,ReAct (Reason + Act) 以其步步为营、动态适应的特性见长,擅长处理需要与环境实时交互、快速响应的任务。而 Plan-and-Execute 则强调前瞻性规划,先制定…...

Native层Trace监控性能

一、基础实现方法 1.1 头文件引用 #include <utils/Trace.h> // 基础版本 #include <cutils/trace.h> // 兼容旧版本1.2 核心宏定义 // 区间追踪&#xff08;推荐&#xff09; ATRACE_BEGIN("TraceTag"); ...被监控代码... ATRACE_END();// 函数级自…...

【C++】15. 模板进阶

1. 非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之类的参数类型名称。 非类型形参&#xff1a;就是用一个常量作为类(函数)模板的一个参数&#xff0c;在类(函数)模板中可将该参数当…...

C#进阶学习(十四)反射的概念以及关键类Type

目录 本文末尾有相关类中的总结&#xff0c;如有需要直接跳到最后即可 前置知识&#xff1a; 1、程序集&#xff08;Assembly&#xff09; 2、元数据&#xff08;Metadata&#xff09; 3、中间语言&#xff08;IL, Intermediate Language&#xff09; 中间语言&#xff08;…...

B. And It‘s Non-Zero

题目链接&#xff1a;https://codeforces.com/problemset/problem/1615/B 位运算之前没怎么写过&#xff0c;所以不会写。留一份题解&#xff0c;作为复习使用。 题解&#xff1a;按位与的结果不为0&#xff0c;则至少有一列全为1.要求删除的数最少&#xff0c;即要求该列原本…...

深入解析NuttX:为何它是嵌入式RTOS领域的标杆?​​

文章目录 引言一、NuttX简介&#xff1a;轻量级与高兼容性的结合二、架构特点&#xff1a;为何NuttX更灵活&#xff1f;三、横向对比&#xff1a;NuttX vs 主流嵌入式RTOS四、NuttX的核心优势五、何时选择NuttX&#xff1f;结语 引言 在资源受限的嵌入式系统中&#xff0c;实时…...

html初识

html 盖楼第一步&#xff1a;HTML1. HTML是啥玩意儿&#xff1f;2. 动手&#xff01;搭个你的"网络小窝" (第一个HTML页面)3. 添砖加瓦&#xff1a;常用HTML"建材"详解3.1 标题家族3.2 段落哥俩好3.3 传送门&#xff1a;链接3.4 挂画&#xff1a;图片 盖楼…...

leetcode66.加一

从后向前遍历&#xff0c;直到碰到非9的数&#xff08;也就是数组中中最后一个非9的数&#xff09; &#xff0c;该值&#xff0b;1&#xff0c;然后其后的数字全部0 class Solution {public int[] plusOne(int[] digits) {for (int i digits.length-1; i >0; i--) {if (d…...

【Vue】Vue3项目创建

执行npm run dev&#xff0c;如果报错检查nodejs版本...

缓存替换算法之 FIFO(先进先出)

FIFO&#xff08;First In, First Out&#xff0c;先进先出&#xff09;是一种常见的缓存替换算法&#xff0c;其基本思想是最早进入缓存的数据项将最先被移除。以下是FIFO的详细讲解&#xff1a; 一、FIFO的数据结构 队列&#xff08;Queue&#xff09; 队列是一种典型的线性…...

Linux下的I/O复用技术之epoll

I/O多路复用 指在单个线程或进程中&#xff0c;同时处理多个I/O操作的技术。 旨在提高程序处理多个并发I/O操作的能力&#xff0c;避免程序因等待某个I/O操作而被阻塞。在传统的I/O模型中当程序进行I/O操作时(如读取文件、接受网路数据等)&#xff0c;如果数据还未准备好&…...

数据分析管理软件 Minitab 22.2.2 中文版安装包 免费下载

Minitab22.2.2 安装包下载链接: https://pan.baidu.com/s/1cWuDbvcWhYrub01C6QR81Q?pwd6666 提取码: 6666 Minitab软件是现代质量管理统计软件&#xff0c;全球六西格玛实施的共同语言。Minitab 已经在全球120多个国家&#xff0c;5000多所高校被广泛使用。...

chrony服务器(1)

简介 NTP NTP&#xff08;Network Time Protocol&#xff0c;网络时间协议&#xff09;是一种用于同步计算机系统时间的协议是TCP/IP协议族中的一个应用层协议&#xff0c;主要用于在分布式时间服务器和客户端之间进行时钟同步&#xff0c;提供高精准度的时间校正通过分层的时…...

2025.04.26-淘天春招笔试题-第三题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 二进制信号转换器 问题描述 卢小姐是一位通信工程师,她设计了一种特殊的二进制信号处理装置。该装置可以对由 0 0 0...

腾讯二面:TCC分布式事务 | 图解TCC|用Go语言实现一个TCC

写在前面 前段时间&#xff0c;有同学反馈的一个面试问题&#xff0c;觉得分布式事务有点偏了&#xff0c;但其实也不算偏了&#xff0c;在java领域就有很火很成熟的seata分布式事务框架(阿里和蚂蚁的同学主导&#xff0c;目前在apache孵化)。 之前我们讲过了两阶段提交、三阶…...

如何在 Conda 环境中降级 Python 版本:详细指南

如何在 Conda 环境中降级 Python 版本&#xff1a;详细指南 Python 版本的管理在开发过程中至关重要&#xff0c;特别是在处理不同项目需求时。对于使用 Conda 环境的 Python 程序员来说&#xff0c;版本管理不仅仅是安装不同的 Python 版本&#xff0c;还涉及到依赖关系的兼容…...

MCP 协议解读:STDIO 高效通信与 JSON-RPC 实战

本文深度解析 MCP 协议的传输机制与消息格式&#xff0c;涵盖 stdio、SSE 及自定义传输方式&#xff0c;剖析 JSON-RPC 2.0 的请求、响应与通知设计。 结合 RooCode 开源实现与天气查询案例&#xff0c;揭秘如何通过 MCP 实现跨进程通信与高效服务集成&#xff0c;为开发者提供…...

AI心理健康服务平台项目面试实战

AI心理健康服务平台项目面试实战 第一轮提问&#xff1a; 面试官&#xff1a; 请简要介绍一下AI心理健康服务平台的核心技术架构。在AI领域&#xff0c;心理健康服务的机遇主要体现在哪些方面&#xff1f;如何利用NLP技术提升用户与AI的心理健康对话体验&#xff1f; 马架构…...

路由器重分发(OSPF+RIP),RIP充当翻译官,OSPF充当翻译官

路由器重分发&#xff08;OSPFRIP&#xff09; 版本 1 RIP充当翻译官 OSPF路由器只会OSPF语言&#xff1b;RIP路由器充当翻译官就要会OSPF语言和RIP语言&#xff1b;则在RIP中还需要将OSPF翻译成RIPOSPF 把RIP路由器当成翻译官&#xff0c;OSPF路由器就只需要宣告自己的ip&am…...

29-算法打卡-字符串-KMP算法理论2-第二十九天

1、KMP算法前缀表计算逻辑 可以查看上一章节的前缀表概念以及逻辑&#xff0c;KMP算法基础理论[基础概念、前缀、后缀、最长公共前后缀、前缀表] 2、KMP算法前缀表使用 当模式串和文本串匹配失败的时候&#xff0c;前缀表会告诉我们下一次的匹配中&#xff0c;模式串应该跳到…...

解锁生成式AI潜力的金钥匙

一、引言&#xff1a;生成式AI的浪潮与“提示词”的崛起 在短短几年内&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;以前所未有的速度席卷全球&#xff0c;从文字创作到图像生成&#xff0c;从代码辅助到科学研究&#xff0c;以ChatGPT、Midjourney、DALL…...

统计定界子数组的数组

前言&#xff1a;看到这个题目的时候&#xff0c;只想着怎么暴力枚举右端点&#xff0c;结合线段树还是会超时&#xff0c;没找到很好的处理方法 超时代码 class Tree1:def __init__(self,n):self.t [0]*(4*n)def update(self,o,l,r,index,va):if lr:self.t[o] vareturnmid …...

JAVA---字符串

ctrlN 搜索界面&#xff08;idea&#xff09; API和API帮助文档 API &#xff1a; 应用程序编程接口&#xff08;换句话说&#xff0c;就是别人已经写好了&#xff0c;我们不需要再编写&#xff0c;直接使用即可&#xff09; Java API &#xff1a;就是JDK中提供的各种功能…...

import tree # pip install dm_tree ModuleNotFoundError: No module named ‘tree‘

在导入tree包时&#xff0c;在python库里找了很久&#xff0c;一直以为是tree这个包没下载好&#xff0c;有的推荐执行 pip install dm_tree这是deepmind开发一个处理处理嵌套数据结构的库。它在某种程度上tree 概括了仅支持扁平序列的内置map函数&#xff0c;并允许将函数应用…...

Java ThreadLocal与内存泄漏

当我们利用 ThreadLocal 来管理数据时&#xff0c;我们不可避免地会面临内存泄漏的风险。 原因在于 ThreadLocal 的工作方式。当我们在当前线程的 ThreadLocalMap 中存储一个值时&#xff0c;一旦这个值不再需要&#xff0c;释放它就变得至关重要。如果不这样做&#xff0c;那么…...

Rule.resource作用说明

1. 说明 作用 Rule.resource 用于定义哪些文件需要被当前规则处理。它是对传统 test、include、exclude 的更底层封装&#xff0c;支持更灵活的匹配方式。 与 test/include/exclude 的关系 test: /.js$/ 等价于resource: { test: /.js$/ } include: path.resolve(__dirname, ‘…...

【Docker项目实战】使用Docker部署Caddy+vaultwarden密码管理工具(详细教程)

【Docker项目实战】使用Docker部署vaultwarden密码管理工具 前言一、vaultwarden介绍1.1 vaultwarden简介1.2 主要特点二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、拉取镜像五、…...

代码随想录算法训练营第五十九天 | 1.ford算法精讲 卡码网94.城市间货物运输

1.Bellman_ford 算法精讲 题目链接&#xff1a;94. 城市间货物运输 I 文章讲解&#xff1a;代码随想录 思路&#xff1a; 使用dijkstra&#xff0c;要求图中边的权值都为正数。 带负权值的单源最短路问题&#xff0c;轮到Bellman_ford 算法。Bellman_ford算法的核心思想是对…...

shell(1)

1.shell变量介绍 i.Linux Shell中的变量分为,系统变量和用户自定义变量. ii.系统变量:$HOME,$PWD, $SHELL,$USER 例echo $HOME iii.显示当前shell中的所有变量--set 2.shell变量的定义 基本语法 1.定义变量:变量名值 注意 号左右也不能有空格 2.撤销变量:unset 变量 3.声…...

KEPServerEX 6与西门子1500PLC进行OPC通讯

仿真效果与真实环境效果一至&#xff1b; 环境&#xff1a; 西门子软件&#xff1a;博图V20、S7-PLCSIM Advanced V5.0 OPC软件&#xff1a;KEPServerEX 6 创建S7-PLCSIM Advanced V5.0仿真环境 西门子1500plc组态 添加一个1500cpu&#xff0c;注意点击项目文件&#xff0…...

【概念】什么是 JWT Token?

—什么是 JWT Token&#xff1f; JWT Token&#xff08;JSON Web Token&#xff09; 就是一张后端发给前端的小票&#xff0c;里面包含用户身份信息&#xff0c;用于做无状态认证&#xff08;Stateless Authentication&#xff09;。 每次前端访问后端接口&#xff0c;都拿着…...

【Castle-X机器人】一、模块安装与调试:机器人底盘

持续更新。。。。。。。。。。。。。。。 【ROS机器人】模块安装 一、Castle-X机器人底盘1.1 结构概述1.2 驱动执行结构1.3 环境传感器1.4 电气系统1.5 Castle-x机器人底盘测试激光雷达传感器测试及数据可视化超声波传感器实时数据获取防跌落传感器测试陀螺仪测试键盘控制测试…...

NSIS打包

以下是一篇详细的 NSIS 打包 EXE 的入门教程: NSIS 打包 EXE 入门教程 NSIS(Nullsoft Scriptable Install System)是一款开源的 Windows 安装包制作工具,支持脚本化定制安装流程。本教程将带你从零开始,创建一个简单的 EXE 安装程序。 1. 环境准备 1.1 下载 NSIS 访问官…...

62.不同路径

一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&#xff1f; 示例 …...