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

QT写的动态正弦曲线图显示并打印

创建一个显示正弦曲线的 QChartView,并通过定时器不断更新图表数据,模拟动态数据。此外,还包含了一个在特定时间自动将图表导出为 PDF 文件的功能。

代码分析和注释

#include <QApplication>
#include <QMainWindow>
#include <QChartView>
#include <QLineSeries>
#include <QValueAxis>
#include <QRandomGenerator>
#include <QTimer>
#include <QDebug>
#include <QFileDialog>
#include <QPrinter>
#include <QPainter>
#include <iomanip>
#include <sstream>
#include <ctime>// 获取当前日期和时间格式化为字符串
std::string getCurrentDateTime() {auto now = std::time(nullptr); // 获取当前时间的时间戳std::tm* localTime = std::localtime(&now); // 将时间戳转换为本地时间std::ostringstream oss; // 创建字符串流对象oss << std::put_time(localTime, "%Y-%m-%d-%H-%M-%S"); // 格式化时间字符串为 "年-月-日-时-分-秒"return oss.str(); // 返回格式化后的字符串
}QT_CHARTS_USE_NAMESPACE // 使用 Qt Charts 命名空间int main(int argc, char *argv[])
{QApplication a(argc, argv); // 创建 QApplication 对象QMainWindow window; // 创建主窗口QChartView *chartView = new QChartView(&window); // 创建图表视图window.setCentralWidget(chartView); // 将图表视图设置为主窗口的中心部件QChart *chart = new QChart(); // 创建图表对象chart->setTitle(QString::fromStdWString(L"正弦运动曲线")); // 设置图表标题chart->legend()->hide(); // 隐藏图例chartView->setChart(chart); // 将图表设置到图表视图中chartView->setRenderHint(QPainter::Antialiasing, true); // 设置抗锯齿渲染QLineSeries *series = new QLineSeries(); // 创建线条系列对象chart->addSeries(series); // 将线条系列添加到图表中chart->createDefaultAxes(); // 创建默认的坐标轴int currentIndex = 0; // 当前数据点索引,用于计算滚动位置QValueAxis *axisX = qobject_cast<QValueAxis *>(chart->axes(Qt::Horizontal).at(0)); // 获取 X 轴axisX->setTickCount(20); // 设置 X 轴的刻度数axisX->applyNiceNumbers(); // 使 X 轴的刻度数看起来更友好axisX->setRange(0, 800); // 设置 X 轴的范围QValueAxis *axisY = qobject_cast<QValueAxis *>(chart->axes(Qt::Vertical).at(0)); // 获取 Y 轴axisY->setTickCount(9); // 设置 Y 轴的刻度数axisY->applyNiceNumbers(); // 使 Y 轴的刻度数看起来更友好axisY->setRange(0, 120); // 设置 Y 轴的范围// 初始化数据点qreal startX = 0;for (int i = 0; i < 800; ++i) {series->append(startX + i, 60. + 40. * sin(3.14159 * i / 180)); // 生成正弦数据点}QTimer timer; // 创建定时器timer.setInterval(50); // 设置定时器间隔为 50 毫秒QObject::connect(&timer, &QTimer::timeout, [&](){if (series->points().size() >= 800){int n = series->points().size() - 800;series->removePoints(0, n); // 当数据点超过 800 时,移除多余的点currentIndex -= n;qDebug() << "remove " << n; // 打印移除的点数}qDebug() << currentIndex; // 打印当前数据点索引// 移动数据点并添加新的数据点series->append(series->points().last().x() + 1, 60. + 40. * sin((3.14159 * series->points().last().x() + 1) / 180));// 计算滚动后的横坐标范围qreal minX = series->points().at(currentIndex).x();qreal maxX = series->points().last().x();qreal targetMinX = minX + 1;qreal targetMaxX = maxX + 1;axisX->setRange(targetMinX, targetMaxX); // 更新 X 轴的范围currentIndex++;});timer.start(); // 启动定时器// 设置主窗口的背景颜色QPalette pal = window.palette();pal.setColor(QPalette::Window, QRgb(0x40434a));pal.setColor(QPalette::WindowText, QRgb(0xd6d6d6));window.setPalette(pal);// 设置图表的主题QChart::ChartTheme theme = static_cast<QChart::ChartTheme>(QChart::ChartThemeBlueCerulean);chartView->chart()->setTheme(theme);// 设置主窗口的初始大小window.resize(1600, 900);window.show(); // 显示主窗口// 使用单次定时器在 2 秒后导出图表为 PDF 文件QTimer::singleShot(2000, [&](){std::string str = getCurrentDateTime(); // 获取当前日期和时间字符串QString filePath = "chart-" + QString::fromStdString(str) + ".pdf"; // 生成 PDF 文件路径qDebug() << filePath; // 打印文件路径// 创建打印机对象QPrinter printer(QPrinter::HighResolution);printer.setOutputFormat(QPrinter::PdfFormat); // 设置输出格式为 PDFprinter.setOutputFileName(filePath); // 设置输出文件名printer.setPageSize(QPrinter::A4); // 设置页面大小为 A4printer.setOrientation(QPrinter::Orientation::Landscape); // 设置页面方向为横向// 获取页面边缘的边距QPrinter::Margins margin = printer.margins();// 获取页面矩形(打印区域)QRectF pageRect = printer.pageRect(QPrinter::DevicePixel);// 获取图表的绘制区域QRectF chartRect = chart->plotArea();// 计算缩放比例qreal scaleX = (pageRect.width() - margin.left - margin.right) / chartRect.width();qreal scaleY = (pageRect.height() - margin.top - margin.bottom) / chartRect.height();qreal scale = qMin(scaleX, scaleY); // 选择较小的缩放比例以保持图表比例不变// 打印边距和页面矩形信息qDebug() << "margin:" << margin.top << "," << margin.bottom;qDebug() << "pageRect:" << pageRect;qDebug() << "pageRect Width:" << pageRect.width();qDebug() << "pageRect Height:" << pageRect.height();// 调整图表的绘制区域以适应页面大小chartRect.setWidth(chartRect.width() * scale);chartRect.setHeight(chartRect.height() * scale);// 打印调整后的图表矩形信息qDebug() << "chartRect:" << chartRect;qDebug() << "chartRect Height:" << chartRect.height();// 计算图表在页面上的居中位置qreal x = (pageRect.width() - chartRect.width()) / 2;qreal y = (pageRect.height() - chartRect.height()) / 2;// 打印图表居中位置信息qDebug() << x << "," << y;qDebug() << "chartRect:" << chartRect;// 创建画布并绘制图表QPainter painter;if (!painter.begin(&printer)) { // 开始绘制qWarning("Failed to start printer");return;}// 将图表绘制区域居中到页面上painter.translate(QPoint(x / 2, pageRect.top() + chartRect.top() + y / 2)); // 逻辑有点奇怪,但测试看上去是对的chartView->render(&painter); // 渲染图表到画布上painter.end(); // 结束绘制// 打印保存的 PDF 文件路径qDebug() << "PDF file saved to:" << filePath;});return a.exec(); // 运行应用程序
}

代码功能解析

  1. 获取当前日期和时间

    • getCurrentDateTime 函数使用 <ctime> 和 <iomanip> 头文件中的函数获取当前日期和时间,并格式化为 “年-月-日-时-分-秒” 的字符串。
  2. 创建主窗口和图表视图

    • QApplication 创建应用程序对象。
    • QMainWindow 创建主窗口。
    • QChartView 创建图表视图并设置为主窗口的中心部件。
  3. 创建和配置图表

    • QChart 创建图表对象并设置标题。
    • QLineSeries 创建线条系列对象并添加到图表中。
    • QValueAxis 创建和配置 X 轴和 Y 轴,包括刻度数、范围和自动友好的刻度数。
  4. 初始化数据点

    • 生成 800 个正弦数据点并添加到线条系列中。
  5. 定时器更新数据

    • QTimer 创建定时器并设置间隔为 50 毫秒。
    • 定时器每次触发时,检查数据点数量是否超过 800,如果超过则移除多余的点。
    • 添加新的数据点并更新 X 轴的范围。
    • 使用 currentIndex 记录当前的数据点索引,以便计算图表的滚动位置。
  6. 设置主窗口样式和图表主题

    • 设置主窗口的背景颜色和文本颜色。
    • 设置图表的主题为 ChartThemeBlueCerulean
  7. 导出图表到 PDF

    • 使用 QTimer::singleShot 在 2 秒后执行导出操作。
    • QPrinter 创建打印机对象并设置输出格式为 PDF,页面大小为 A4,方向为横向。
    • 计算页面的边距和打印区域。
    • 计算图表的缩放比例,使图表在页面上居中显示。
    • 使用 QPainter 创建画布并绘制图表到 PDF 文件中。
    • 保存 PDF 文件并打印路径信息。

注意事项

  • 缩放逻辑:计算缩放比例时,选择了较小的比例以保持图表的比例不变。
  • 居中位置painter.translate 用于将图表居中显示在页面上,逻辑可能需要根据实际需求进行调整。
  • 定时器:使用 QTimer 模拟动态数据的变化,间隔设置为 50 毫秒,可以根据实际需求调整间隔时间。

打印好的pdf文件显示

相关文章:

QT写的动态正弦曲线图显示并打印

创建一个显示正弦曲线的 QChartView&#xff0c;并通过定时器不断更新图表数据&#xff0c;模拟动态数据。此外&#xff0c;还包含了一个在特定时间自动将图表导出为 PDF 文件的功能。 代码分析和注释 #include <QApplication> #include <QMainWindow> #include &…...

AI开发:决策树模型概述与实现:从训练到评估和可视化 - Python

通过前面的一些练习&#xff0c;我们已经学习了支持向量机、 回归、 鸢尾花模型 、卷积、 知识图谱、 生成式对抗网络、 K近邻、 等AI算法的基本概念&#xff0c;熟悉了一些常用的AI库&#xff0c;并且使用PYTHON大法进行了一些实战练习。接下来&#xff0c;我们向更深一层的概…...

MySQL 性能瓶颈,为什么 MySQL 表的数据量不能太大?

MySQL的性能瓶颈(为什么MySQL有几万的qps,怎么来的?性能分析 为什么 MySQL 表不能太大网上大部分人的说法:问题的关键: B树层数对查询性能的影响到底有多大? 是什么导致的 MySQL 查询缓慢?如何解决: MySQL的性能瓶颈(为什么MySQL有几万的qps,怎么来的? 一个全表扫描的查询…...

Vue中接入萤石等直播视频(更新中ing)

一、萤石&#xff1a; 1. 萤石云开发文档&#xff1a; https://open.ys7.com/help/31 2、安装&#xff1a; npm install ezuikit-js --save 3、在文件中引用&#xff1a;import EZUIKit from ezuikit-js 4、具体代码&#xff1a; 获取accessToken&#xff1a;https://open.…...

25 go语言(golang) - 内存分配机制原理

Go 语言的内存分配机制是一个复杂且高效的系统&#xff0c;旨在为程序提供快速和安全的内存管理。理解 Go 的内存分配有助于编写更高效的代码&#xff0c;并优化程序性能。 一、内存区域 栈&#xff08;Stack&#xff09; 栈用于函数调用时的临时变量分配。栈上的内存在函数返…...

【Linux命令】ps -a 和 ps -ef 的区别

ps -a 和 ps -ef 是 ps&#xff08;process status&#xff09;命令的不同选项&#xff0c;它们用于显示不同的进程信息。以下是这两个选项的主要区别&#xff1a; ps -a -a 选项表示显示所有拥有终端的进程&#xff0c;但不包括守护进程&#xff08;daemon processes&#x…...

几个支持用户名密码的代理链工具: glider, gost, proxychains+microsocks

几个支持用户名密码的代理链工具: glider, gost, proxychainsmicrosocks gost -L:7777 -Fsocks5://192.168.2.20:7575 -Fsocks5://user:passwd1.1.1.1:10086 -Dgost&#xff1a;(https://github.com/ginuerzh/gost) 参考 https://www.quakemachinex.com/blog/279.html...

编译安装教程

编译教程 下面是一个完整的从源码编译安装软件的教程&#xff0c;涵盖了从环境准备到配置、编译、安装的所有可能会用到的步骤和细节&#xff0c;适用于各种类型的软件包。 一、环境准备 在开始编译源码之前&#xff0c;确保系统满足以下条件&#xff1a; 1. 安装必要工具 …...

计算机网络-物理层

1.1传输媒体&#xff1a; 导引型传输媒体&#xff1a;双绞线&#xff0c;同轴电缆&#xff0c;光纤 非导引型传输媒体&#xff1a;微波通信&#xff08;2&#xff5e;40GHz&#xff09; 1.2传输方式: 串行传输&#xff1a;一个接一个的依次传输 并行传输&#xff1a;一次发送n…...

缓存管理自动化:JuiceFS 企业版 Cache Group Operator 新特性发布

近期&#xff0c;JuiceFS 企业版推出了 Cache Group Operator&#xff0c;用于自动化创建和管理缓存组集群。Operator 是一种简化 Kubernetes 应用管理的工具&#xff0c;它能够自动化应用程序的生命周期管理任务&#xff0c;使部署、扩展和运维更加高效。 在推出 Operator 之前…...

Linux应用软件编程-多任务处理(线程)

线程&#xff1a;轻量级的进程&#xff0c;线程的栈区独立&#xff08;8M&#xff09;&#xff0c;与同一进程中的其他线程共用进程的堆区&#xff0c;数据区&#xff0c;文本区。 进程是操作系统资源分配的最小单位&#xff1b;线程是cpu任务调度的最小单位。 1. 线程的创建…...

MySql索引(基础篇)

后面也会持续更新&#xff0c;学到新东西会在其中补充。 建议按顺序食用&#xff0c;欢迎批评或者交流&#xff01; 缺什么东西欢迎评论&#xff01;我都会及时修改的&#xff01; 感谢各位大佬写的文章让我学到很多东西&#xff01;只是在各位大佬的基础加了我自己的思路&a…...

手机发烫怎么解决?

在当今这个智能手机不离手的时代&#xff0c;手机发烫成了不少人头疼的问题。手机发烫不仅影响使用手感&#xff0c;长期过热还可能损害手机硬件、缩短电池寿命&#xff0c;甚至引发安全隐患。不过别担心&#xff0c;下面这些方法能帮你有效给手机 “降温”。 一、使用习惯方面…...

Java实现观察者模式

一、前言 观察者模式&#xff0c;又称为发布订阅模式&#xff0c;是一种行为设置模式&#xff0c;允许对象之间建立一对多的依赖关系&#xff0c;这样当一个对象状态改变时&#xff0c;它的所有依赖者&#xff08;观察者&#xff09;都会收到通知并自动更新。 二、具体实现 …...

OpenResty开发环境搭建

简介 OpenResty 是一个基于 Nginx的高性能 Web 平台&#xff0c;用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。官方地址&#xff1a;http://openresty.org/cn/ 具备下列特点&#xff1a; 具备Nginx的完整功能基于Lua语言进行扩展&#…...

鸿蒙系统文件管理基础服务的设计背景和设计目标

有一定经验的开发者通常对文件管理相关的api应用或者底层逻辑都比较熟悉&#xff0c;但是关于文件管理服务的设计背景和设计目标可能了解得不那么清楚&#xff0c;本文旨在分享文件管理服务的设计背景及目标&#xff0c;方便广大开发者更好地理解鸿蒙系统文件管理服务。 1 鸿蒙…...

Elasticsearch-脚本查询

脚本查询 概念 Scripting是Elasticsearch支持的一种专门用于复杂场景下支持自定义编程的强大的脚本功能&#xff0c;ES支持多种脚本语言&#xff0c;如painless&#xff0c;其语法类似于Java,也有注释、关键字、类型、变量、函数等&#xff0c;其就要相对于其他脚本高出几倍的性…...

【蓝桥杯——物联网设计与开发】拓展模块4 - 脉冲模块

目录 一、脉冲模块 &#xff08;1&#xff09;资源介绍 &#x1f505;原理图 &#x1f505;采集原理 &#xff08;2&#xff09;STM32CubeMX 软件配置 &#xff08;3&#xff09;代码编写 &#xff08;4&#xff09;实验现象 二、脉冲模块接口函数封装 三、踩坑日记 &a…...

devops和ICCID简介

Devops DevOps&#xff08;Development 和 Operations 的组合&#xff09;是一种软件开发和 IT 运维的哲学&#xff0c;旨在促进开发、技术运营和质量保障&#xff08;QA&#xff09;部门之间的沟通、协作与整合。它强调自动化流程&#xff0c;持续集成&#xff08;CI&#xf…...

uniapp使用live-pusher实现模拟人脸识别效果

需求&#xff1a; 1、前端实现模拟用户人脸识别&#xff0c;识别成功后抓取视频流或认证的一张静态图给服务端。 2、服务端调用第三方活体认证接口&#xff0c;验证前端传递的人脸是否存在&#xff0c;把认证结果反馈给前端。 3、前端根据服务端返回的状态&#xff0c;显示在…...

OSI 网络 7 层模型

问: 请你介绍一下OSI七层网络模型物理层解决什么问题?功能原理问题 数据链路层解决什么问题功能原理 网络层解决的问题功能原理 传输层解决什么问题功能原理会话层解决什么问题功能原理: 表示层解决什么问题 应用层解决什么问题如何展示? 问: 请你介绍一下OSI七层网络模型 物…...

RK356x bsp 7 - PCF8563 RTC调试记录

文章目录 1、环境介绍2、目标3、PCF85634、dts配置5、内核配置6、测试验证 1、环境介绍 硬件&#xff1a;飞凌ok3568-c开发板 软件&#xff1a;原厂rk356x sdk 2、目标 开发板断电后仍正常计时。 3、PCF8563 PCF8563 是由 NXP Semiconductors 公司生产的低功耗 CMOS 实时…...

Vue.js组件开发-如何实现vueFLow流程

在Vue.js组件中实现vueFlow流程实例 确保已经安装了vueFlow库。如果还没有安装&#xff0c;可以使用npm或yarn进行安装&#xff1a; npm install braks/vue-flow # 或者 yarn add braks/vue-flow步骤&#xff1a; ‌引入vueFlow组件‌&#xff1a; 在Vue组件文件中&#xff…...

upload-labs关卡记录15

图片马&#xff0c;这里就可以看到任务和注意事项&#xff1a; 使用一个正常图片&#xff0c;然后拼接一个一句话木马即可实现。这里就用命令窗口进行实现&#xff1a; copy 111.png/b shell.php/a shell.png 注意这里的命令窗口要在存在图片和一句话木马的目录下打开&#…...

面试题总结

一、mysql中的乐观锁、悲观锁、共享锁、排它锁、行锁、表锁 1、乐观锁 通过sql实现的&#xff0c;更新sql语句时加上where version #{version}乐观锁不是数据库自带的锁&#xff0c;需要我们自己去实现。乐观锁是指操作数据库时(更新操作)&#xff0c;想法很乐观&#xff0c;认…...

Linux | 零基础Ubuntu解压RaR等压缩包文件

目录 介绍 案例分析 安装工具 解压实践 介绍 RAR是一种专利文件格式&#xff0c;用于数据压缩与归档打包&#xff0c;开发者为尤金罗谢尔&#xff08;俄语&#xff1a;Евгений Лазаревич Рошал&#xff0c;拉丁转写&#xff1a;Yevgeny Lazarevich R…...

自动化测试-Pytest测试

目录 pytest简介 基本测试实例 编写测试文件 执行测试 pytest运行时参数 mark标记 Fixture pytest插件 Allure测试报告 测试步骤 pytest简介 Pytest‌是一个非常流行的Python测试框架&#xff0c;它支持简单的单元测试和复杂的功能测试&#xff0c;具有易于上手、功…...

磁盘调度算法

先来先服务&#xff08;FCFS&#xff09;算法 原理&#xff1a; 按照进程请求访问磁盘的先后顺序进行调度。就像是排队买东西&#xff0c;先到的先服务。 示例&#xff08;Python&#xff09;&#xff1a; def fcfs(requests):"""requests是一个包含磁盘请求序…...

多视图 (Multi-view) 与多模态 (Multi-modal)

多视图 (Multi-view) 与多模态 (Multi-modal) 是两种不同的数据处理方式&#xff0c;它们在机器学习和数据分析中有着重要的应用。尽管这两者有一些相似之处&#xff0c;但它们关注的角度和处理方法有所不同。 多视图 (Multi-view) 定义&#xff1a;多视图指的是同一数据对象…...

CFA知识点梳理系列:CFA Level II, Reading 7 Economics of Regulation

这是CFA知识点梳理系列的第七篇文章&#xff0c;上一篇文章可以参考以下链接: CFA知识点梳理系列&#xff1a;CFA Level II, Reading 6 Economic Growth...

微信流量主挑战:三天25用户!功能未完善?(新纪元4)

&#x1f389;【小程序上线第三天&#xff01;突破25用户大关&#xff01;】&#x1f389; 嘿&#xff0c;大家好&#xff01;今天是我们小程序上线的第三天&#xff0c;我们的用户量已经突破了25个&#xff01;昨天还是16个&#xff0c;今天一觉醒来竟然有25个&#xff01;这涨…...

1.微服务灰度发布落地实践(方案设计)

前言 微服务架构中的灰度发布&#xff08;也称为金丝雀发布或渐进式发布&#xff09;是一种在不影响现有用户的情况下&#xff0c;逐步将新版本的服务部署到生产环境的策略。通过灰度发布&#xff0c;你可以先将新版本的服务暴露给一小部分用户或特定的流量&#xff0c;观察其…...

Web3如何推动元宇宙的去中心化发展?

随着科技的不断进步&#xff0c;元宇宙的概念逐渐从科幻变成现实&#xff0c;它不仅是虚拟世界与现实世界的融合&#xff0c;更是数字交互和社会参与的新形态。在这个过程中&#xff0c;Web3作为下一代互联网的核心技术&#xff0c;正发挥着关键作用。特别是在去中心化的元宇宙…...

【NODE】01-fs和path常用知识点

前言 最近在使用express-generator知识进行搭建前后端通信&#xff0c;其中有些知识点涉及到nodejs的fs和path核心模块&#xff0c;因此另写一篇文章进行介绍和代码案例练习。 fs&#xff08;文件系统&#xff09;和 path 是 Node.js 的核心模块&#xff0c;用于文件操作和路径…...

矩阵线性方程组

矩阵可以是任何形状 当矩阵的行数等于列数,称之为方阵,那么它就有行列式 矩阵的公式 矩阵分块法 Matrix(母体) 克拉默法则 线性方程组 注意初等列变换不是一个同解变换 初等变换与秩 XAB 可以用初等列变换但是不推荐,还是使用初等行变换.用转置思想求解 ( X A ) T…...

Web API和Web Services的区分

前些年一提及自动化测试&#xff0c;大多是指UI界面层的自动化测试。近几年&#xff0c;随着分层自动化测试概念的兴起&#xff0c;以及自动化测试自身的发展与细分&#xff0c;自动化测试包含了更多的内容。 API(Application ProgrammingInterface&#xff0c;应用程序编程接…...

各种数据库类型介绍

在软件开发和数据处理领域&#xff0c;数据库扮演着至关重要的角色。它们用于存储、检索和管理大量数据&#xff0c;是信息系统不可或缺的基础。以下是几种常用的数据库类型及其简要介绍&#xff1a; 1.关系型数据库&#xff08;Relational Databases&#xff09; 关系型数据库…...

Hive练习题11-15

11、第11题 info 表 date result 2005-05-09 win 2005-05-09 lose 2005-05-09 lose 2005-05-09 lose 2005-05-10 win 2005-05-10 lose 2005-05-10 lose 如果要生成下列结果, 该如何写sql语句? win lose 2005-05-09 2 2 2005-05-10 1 2 答案&#xff1a; (1) …...

【微信小程序】4plus|搜索框-历史搜索 | 我的咖啡店-综合实训

升级版1-清空全部的再次确认 实现功能: 历史搜索记录展示-历史搜索记录展示10条点击跳转-点击历史搜索记录可同步到搜索框并自动搜索全部删除-可一次性全部删除历史搜索记录全部删除-有再次确认操作展示 进行搜索后留下搜索记录 点击垃圾桶图标,显示【清空全部】 点击【清…...

学习笔记(C#基础书籍)-- C#高级应用

&#xff08;12.25&#xff0c;12.26&#xff09; I/O数据流技术&#xff1a;《第十二章》 为了能够长时间保存程序中的数据&#xff0c;I/O技术可以将数据保存到文件&#xff08;如文本文件等&#xff09;中。 ⭕文件基本操作 a.File类&#xff1a;支持对文件的基本操作&…...

pytorch将数据与模型都放到GPU上训练

默认是CPU&#xff0c;如果想要用GPU需要&#xff1a; 安装配置cuda&#xff0c;然后更新/下载支持gpu版本的pytorch&#xff0c;可以参考&#xff1a;https://blog.csdn.net/weixin_35757704/article/details/124315569设置device&#xff1a;device torch.device(cuda if t…...

华为 IPD,究竟有什么特点?(二)

关注作者 &#xff08;四&#xff09;华为版 IPD 特点四&#xff1a;一定要把差异化竞争力持 续建立在平台上 平台不仅带来研发效率的提升&#xff0c;更重要的是&#xff0c;它是技术竞争力的载体&#xff0c;是研发质 量的重要保证。 1&#xff09;为什么很多企业摆脱不了同…...

CV(7)--神经网络训练

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 什么是神经网络&#xff1a; 神经网络是一种模拟人脑神经元工作原理的算法&#xff0c;它由多个神经元组成&#xff0c;每个神经元都接受输入&#xff0c;通过计算产生输出&#xff0c;并将输出传递给其他神经元。神经网络的…...

git更改当前项目的远程仓库,保留原始仓库提交记录提交到新仓库

在开发过程中&#xff0c;有时需要将当前项目的远程仓库切换到另一个新的远程仓库&#xff0c;同时保留所有原始的提交记录。以下是详细的步骤和最佳实践&#xff0c;确保你能够顺利完成这一操作。 更改当前项目的远程仓库 1.查看当前的远程仓库 确认当前项目的远程仓库地址。…...

【产品应用】一体化无刷电机在旋转等离子喷枪中的应用

在现代工业制造与加工领域&#xff0c;等离子喷枪凭借其高温、高速的等离子射流&#xff0c;能够实现高效的材料表面处理、切割以及焊接等工艺&#xff0c;在众多行业中发挥着关键作用。而一体化无刷电机的应用&#xff0c;更是为等离子喷枪的性能提升和稳定运行注入了强大动力…...

docker django uwsgi 报错记录

这个配置中是能够正常进行网页访问的&#xff0c;能够查看网页 [uwsgi] chdir /home/luichun/lc/Pyfile/PyCursor/app module app.wsgi:application plugin-dir /usr/lib/uwsgi/plugins plugins python311 env TZAsia/Shanghai socket-timeout 60 websocket-ma…...

【自由能系列(初级),论文解读】神经网络中,熵代表系统的不确定性,自由能则引导系统向更低能量的状态演化,而动力学则描述了系统状态随时间的变化。

神经网络中的熵、自由能与动力学 核心结论&#xff1a; 神经网络在“学习”和“成长”过程中&#xff0c;熵、自由能以及动力学扮演着关键角色。 熵代表系统的不确定性&#xff0c;自由能则引导系统向更低能量的状态演化&#xff0c;而动力学则描述了系统状态随时间的变化。 这…...

云计算时代携程的网络架构变迁

大家觉得有意义和帮助记得及时关注和点赞!!! 前言0 携程云平台简介 网络演进时间线1 基于 VLAN 的二层网络 1.1 需求1.2 解决方案&#xff1a;OpenStack Provider Network 模型1.3 硬件网络拓扑1.4 宿主机内部网络拓扑1.5 小结 优点缺点2 基于 SDN 的大二层网络 2.1 面临的新问…...

uniapp 微信小程序 数据空白展示组件

效果图 html <template><view class"nodata"><view class""><image class"nodataimg":src"$publicfun.locaAndHttp()?localUrl:$publicfun.httpUrlImg(httUrl)"mode"aspectFit"></image>&l…...

java 线程池为什么设计成先进队列再创建最大线程为何先入队列再增加线程数?

java 线程池为什么设计成先进队列再创建最大线程为何先入队列再增加线程数&#xff1f; 这个设计与 线程池的性能优化 、资源利用和任务调度策略密切相关。要理解为什么线程池设计成“ 先将任务入队列&#xff0c;再创建最大线程数 ”&#xff0c;可以从以下几个方面进行分析&…...