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

qt-C++笔记之QLabel加载图片

qt-C++笔记之QLabel加载图片

—— 2024-04-06 夜


code review!

文章目录

  • qt-C++笔记之QLabel加载图片
    • 0.文件结构
    • 1.方法一:把图片放在项目路径下,在 .pro 文件中使用 DISTFILES添加图片文件
      • 1.1.运行
      • 1.2.qt_test.pro
      • 1.3.main.cpp
    • 2.方法二:不在 .pro 文件中使用 DISTFILES添加图片文件,直接在main.cpp中指定图片路径
      • 2.1.main.cpp
      • 2.2.附加解释
    • 3.方法三:上述方法中直接使用图片去构造QPixmap对象,若使用 QPixmap 的 load() 方法来加载图片
      • 3.1.运行
      • 3.2.main.cpp
      • 3.2.附加解释
    • 4.上述代码中只有QLabel和QPixmap,若结合QImage来显示图片
      • 4.1.运行
      • 4.2.main.cpp
      • 4.3.附加解释
      • 4.4.代码流程图
      • 4.5.`QImage`和`QPixmap`表格对比
    • 5.视频流解码的图像数据需要使用的函数:QPixmap::fromImage()
    • 6.Qt在加载的图片上的指定位置画矩形框:创建一个 QPainter 实例并在 QPixmap 上绘制矩形
      • 6.1.运行
      • 6.2.main.cpp
    • 7.`setScaledContents`和`scaled`方法表格对比

0.文件结构

在这里插入图片描述

1.方法一:把图片放在项目路径下,在 .pro 文件中使用 DISTFILES添加图片文件

1.1.运行

在这里插入图片描述

1.2.qt_test.pro

QT += widgets core
TARGET = qt_test
TEMPLATE = app
SOURCES += main.cppDISTFILES += \123.jpg

1.3.main.cpp

#include <QApplication>
#include <QLabel>
#include <QPixmap>int main(int argc, char *argv[]) {QApplication app(argc, argv);QLabel label;QPixmap pixmap("123.jpg"); label.setPixmap(pixmap);label.show();return app.exec();
}

2.方法二:不在 .pro 文件中使用 DISTFILES添加图片文件,直接在main.cpp中指定图片路径

2.1.main.cpp

#include <QApplication>
#include <QLabel>
#include <QPixmap>int main(int argc, char *argv[]) {QApplication app(argc, argv);QLabel label;QPixmap pixmap("/home/user/qt_cpp_test/qt_test/123.jpg"); // 替换为图片文件路径label.setPixmap(pixmap);label.show();return app.exec();
}

2.2.附加解释

  1. QPixmap是用于处理图像的类,它可以加载和显示许多不同格式的图片。
  2. 使用QPixmap的构造函数来加载一个图片文件。
  3. 使用QLabelsetPixmap方法将图片设置到标签上。
  4. 最后调用show方法来显示带有图片的标签。

确保替换"/path/to/image.jpg"为实际图片文件的路径。如果图片文件路径不正确或文件不存在,QPixmap对象将是一个空对象,并且QLabel不会显示任何图片。

此外,如果图片大小超过QLabel的大小,那么图片将会被裁剪。如果想让图片自适应QLabel的大小,可以使用QPixmap::scaled方法来调整图片尺寸。例如:

label.setPixmap(pixmap.scaled(label.size(), Qt::KeepAspectRatio));

这会将图片缩放到QLabel的大小,同时保持图片的宽高比。Qt::KeepAspectRatio是一个枚举值,指示应保持原始图像的宽高比。

3.方法三:上述方法中直接使用图片去构造QPixmap对象,若使用 QPixmap 的 load() 方法来加载图片

3.1.运行

在这里插入图片描述

3.2.main.cpp

#include <QApplication>
#include <QLabel>
#include <QPixmap>int main(int argc, char *argv[]) {QApplication app(argc, argv);QLabel label;QPixmap pixmap;// 尝试加载图片,替换为图片文件路径bool loaded = pixmap.load("123.jpg");if (loaded) {// 如果图片加载成功,设置到QLabellabel.setPixmap(pixmap);} else {// 如果加载失败,可以设置一个错误消息label.setText("图片加载失败!");}label.show();return app.exec();
}

3.2.附加解释

使用 QPixmapload() 方法来加载图片,可以先创建一个 QPixmap 对象,然后调用 load() 方法来加载图片文件。这种方式可以方便地检查图片是否成功加载,因为 load() 方法会返回一个布尔值,指示操作是否成功。

在这段代码中:

  • 创建了一个 QPixmap 对象。
  • 调用 load() 方法尝试加载指定路径下的图片文件。
  • load() 方法返回 true 如果图片成功加载,否则返回 false
  • 如果图片加载成功,则使用 setPixmap() 方法将其设置到 QLabel 上。
  • 如果图片加载失败,则 QLabel 显示一条错误消息。

想处理加载失败的情况,可以在 else 块中添加适当的代码来通知用户或记录错误。

4.上述代码中只有QLabel和QPixmap,若结合QImage来显示图片

4.1.运行

在这里插入图片描述

4.2.main.cpp

#include <QApplication>
#include <QLabel>
#include <QPixmap>
#include <QImage>int main(int argc, char *argv[]) {QApplication app(argc, argv);QLabel label;QImage image;// 尝试加载图片,替换为图片文件路径bool loaded = image.load("/path/to/image.jpg");if (loaded) {// 如果图片加载成功,转换为QPixmap并设置到QLabelQPixmap pixmap = QPixmap::fromImage(image);label.setPixmap(pixmap);} else {// 如果加载失败,可以设置一个错误消息label.setText("图片加载失败!");}label.show();return app.exec();
}

4.3.附加解释

QImage 是Qt中另一个处理图像的类。与 QPixmap 相比,QImage 更适合图像的离屏处理,例如图像的像素级操作。而 QPixmap 更适合屏幕显示和绘制。

如果想在上述例子中使用 QImage,可以首先加载图像到一个 QImage 对象中,然后将其转换为 QPixmap 来为 QLabel 设置。

在这段代码中:

  • 创建了一个 QImage 对象。
  • 使用 load() 方法加载图片文件到 QImage 对象中。
  • 如果图片成功加载,使用静态方法 QPixmap::fromImage()QImage 转换为 QPixmap
  • 然后使用 setPixmap() 方法将 QPixmap 设置到 QLabel 上。
  • 如果图片加载失败,则 QLabel 显示错误消息。

这种方法允许在将图像显示在 QLabel 之前,利用 QImage 提供的功能对图像进行处理。例如,可以修改图像的大小,应用滤镜,调整颜色等。记住,所有这些操作都应该在将 QImage 转换为 QPixmap 之前完成。

4.4.代码流程图

+----------------+         +-----------------------+         +----------------+         +-----------------+         +-----------------------+         +------------------+
|     Start      |         |  创建 QApplication    |         |   创建 QLabel   |         |  创建 QImage    |         | 加载图片到 QImage     |         |   加载成功?       |
+----------------+         +-----------------------+         +----------------+         +-----------------+         +-----------------------+         +--------+---------+|                              |                              |                              |                              |                    Yes / No|                              |                              |                              |                              |                  /          \v                              v                              v                              v                              v                /            \
+----------------+         +-----------------------+         +----------------+         +-----------------+         +-----------------------+      +-------v-------+   +-----------------+
| 创建 QApplication |  --->  |   创建 QLabel         |  --->  |  创建 QImage     |  --->  | 加载图片到 QImage   |  --->  |  image.load(...)       |  --->  |  从 QImage      |   | 设置 QLabel 文本 |
+----------------+         +-----------------------+         +----------------+         +-----------------+         +-----------------------+      |  创建 QPixmap   |   | "图片加载失败!" ||                              |                              |                              |                              |                  +-----------------+|                              |                              |                              |                              |                    /v                              v                              v                              v                              v                  /
+----------------+         +-----------------------+         +----------------+         +-----------------+         +-----------------------+        /
|  显示 QLabel     |  <---  |  设置 QLabel 的       |  <---  |  设置 QLabel 的       |  <---  |  加载图片到 QLabel    |  <------------------------+       /
+----------------+         |  QPixmap               |         |  QPixmap               |         |  image.load(...)       |                                   /|                              +-----------------------+         +----------------+         +-----------------------+                                  /|                                                                                                                                                /v                                                                                                                                              /
+----------------+                                                                                                                                     /
| 进入事件循环     |                                                                                                                                /
| app.exec()     |                                                                                                                               /
+----------------+                                                                                                                              /|                                                                                                                                     /v                                                                                                                                    /
+----------------+                                                                                                                           /
|      End       |                                                                                                                          /
+----------------+-------------------------------------------------------------------------------------------------------------------------+

图片版
在这里插入图片描述

4.5.QImageQPixmap表格对比

在Qt框架中,QImageQPixmap 都用于处理图像,但它们各自有不同的优化点和用途。

特性 / 用途QImageQPixmap
基本描述用于图像的处理和转换;更像是图像数据的容器。用于在屏幕上显示图像;优化了绘制速度。
颜色深度支持多种颜色格式和颜色深度。通常与显示系统的颜色深度匹配。
性能对图像进行操作(如旋转、缩放)时性能较低。绘制到屏幕上时性能较高,因为它是为显示优化的。
硬件加速通常不使用硬件加速。使用硬件加速绘制到屏幕,因此在显示时更快。
图像处理提供像素级访问,适用于图像的处理和分析。不方便直接操作像素。
文件交互读取和写入图像文件时常用,可以直接从文件加载和保存。一般不直接用于读写文件,通常通过QImage加载后转换为QPixmap进行显示。
内存使用可以更高效地使用内存,特别是使用非本机格式时。内存使用可能更高,因为它存储的是屏幕格式的数据。
透明度处理支持alpha通道,可以处理图像的透明度。同样支持alpha通道。
网络传输用于网络传输或图像处理时更加合适,因为它能够以不同的格式存储和处理图像数据。通常不用于网络传输。
线程安全可以在非GUI线程中创建和修改。必须在GUI线程中创建,因为它涉及到与显示硬件的交互。
使用场景示例- 创建图像编辑应用时
- 对图像进行分析处理
- 在后台线程处理图像
- 在窗口或者控件中快速显示图像
- 当图像不需要在多个颜色空间中变换时使用

在实际开发中,选择 QImage 还是 QPixmap 取决于具体需求。如果需要处理图像数据(如过滤、变换等),QImage 是更好的选择。如果主要需求是在Qt的窗口系统中快速显示图像,QPixmap 是更合适的。有时可能需要在两者之间转换,例如,可能会从文件中加载一个图像到 QImage 中进行处理,然后将其转换为 QPixmap 以快速显示在屏幕上。

5.视频流解码的图像数据需要使用的函数:QPixmap::fromImage()

如果正在处理视频流,并且有解码后的图像数据,通常会得到一个 QImage 或者一个原始的图像数据缓冲区。如果经有了一个 QImage 实例,可以使用 QPixmap::fromImage() 方法来将其转换为 QPixmap,从而能够在 QLabel 上显示它。

当从视频流中解码图像时,可能直接得到原始的帧数据,比如一个字节数组。在这种情况下,可以先创建一个 QImage 对象,然后使用该对象的构造函数或者 loadFromData 方法来从原始数据创建图像。一旦有了一个 QImage 对象,就可以像之前一样将其转换为 QPixmap 并将其显示在 QLabel 上。

以下是一个简化的例子,说明如何从视频流中的原始数据创建 QImage 并将其转换为 QPixmap

#include <QApplication>
#include <QLabel>
#include <QImage>
#include <QPixmap>// 假设这是从视频解码得到的原始图像数据
const uchar *videoFrameData = ...; // 视频帧的原始数据指针
int videoFrameWidth = ...; // 视频帧的宽度
int videoFrameHeight = ...; // 视频帧的高度
QImage::Format format = ...; // 视频帧数据的格式int main(int argc, char *argv[]) {QApplication app(argc, argv);QLabel label;// 从原始数据创建QImageQImage image(videoFrameData, videoFrameWidth, videoFrameHeight, format);// 将QImage转换为QPixmapQPixmap pixmap = QPixmap::fromImage(image);// 设置QLabel以显示QPixmaplabel.setPixmap(pixmap);label.show();return app.exec();
}

在这段代码中:

  • videoFrameData 是一个指向视频帧原始数据的指针。
  • videoFrameWidthvideoFrameHeight 分别是视频帧的宽度和高度。
  • format 是一个 QImage::Format 枚举值,指定了原始数据的格式。

QImage 的构造函数接受这些参数来创建图像对象。然后,可以使用 QPixmap::fromImage() 方法将 QImage 转换为 QPixmap,接着将其设置到 QLabel 上以供显示。

请注意,确保原始数据在 QImage 存在的整个生命周期内都是有效的,除非在创建 QImage 时使用了深拷贝。此外,确保数据的格式与 QImage 支持的格式相匹配。如果格式不匹配,图像可能无法正确显示。

6.Qt在加载的图片上的指定位置画矩形框:创建一个 QPainter 实例并在 QPixmap 上绘制矩形

6.1.运行

在这里插入图片描述

6.2.main.cpp

#include <QApplication>
#include <QLabel>
#include <QPixmap>
#include <QPainter>int main(int argc, char *argv[]) {QApplication app(argc, argv);// 加载图片QPixmap pixmap("123.jpg"); // 替换为你的图片文件路径// 创建 QPainter 绘制在 QPixmap 上QPainter painter(&pixmap);painter.setPen(QPen(Qt::red, 3)); // 设置画笔为红色,线宽为3painter.drawRect(30, 40, 100, 100); // 在(10,10)位置绘制一个100x100的矩形框painter.end(); // 结束绘画// 将绘制好的 QPixmap 设置给 QLabelQLabel label;label.setPixmap(pixmap);label.show();return app.exec();
}

7.setScaledContentsscaled方法表格对比

在Qt框架中,setScaledContentsQWidget 的一个属性,通常用于 QLabel 或其他控件中,以指定是否应该缩放控件的内容以填充控件的大小。而 scaled 方法是 QPixmapQImage 类中的一个函数,用于创建原始图像的缩放版本。

特性 / 用途setScaledContentsscaled 方法
所属类QWidgetQPixmap / QImage
类型属性/函数函数
功能决定是否自动缩放控件内容以适应控件的大小。返回图像的缩放副本。
用法控件使用 setScaledContents(true) 来开启内容缩放。调用 scaled 方法并传入新的尺寸,可选地指定缩放模式和质量。
缩放时机控件大小变化时自动缩放内容。当你调用方法时手动创建一个缩放后的图像副本。
返回值无返回值,是一个设置属性的过程。返回缩放后的 QPixmap 或 QImage 副本。
性能对于频灁变化大小的控件可能会影响性能,因为每次大小改变都会触发重新缩放。缩放操作可能会消耗时间,特别是对于大图像和高质量缩放。
质量控制通常没有直接的质量控制选项,依赖于控件的实现。可以指定缩放模式,例如 Qt::SmoothTransformation 提高缩放质量。
适用场景- 当你希望 QLabel 或其他控件自动管理内容的缩放。
- 简单的UI元素缩放。
- 当你需要对图像进行一次性的缩放处理。
- 复杂的图像处理。
实现方式通过设置控件的属性来实现。通过调用方法并传递参数来实现。
内存管理不会创建新的图像副本,但频繁更新可能导致性能问题。创建一个新的图像副本,可能会增加程序的内存使用。
线程安全性属性设置通常需要在GUI线程中完成。QImagescaled 方法可以在非GUI线程中使用。
可扩展性适用于任何 QWidget 派生的控件,但不提供缩放逻辑的自定义。允许通过不同的参数来微调缩放的结果,更灵活。
例子myLabel->setScaledContents(true);QPixmap scaledPixmap = originalPixmap.scaled(newWidth, newHeight);

总结:

  • setScaledContents 是一个控件属性,用于自动调整内容大小以适应控件的尺寸变化。
  • scaledQPixmapQImage 对象的一个方法,用于生成指定大小的缩放副本,它允许更多的控制,如缩放模式和质量选择。

相关文章:

qt-C++笔记之QLabel加载图片

qt-C笔记之QLabel加载图片 —— 2024-04-06 夜 code review! 文章目录 qt-C笔记之QLabel加载图片0.文件结构1.方法一&#xff1a;把图片放在项目路径下&#xff0c;在 .pro 文件中使用 DISTFILES添加图片文件1.1.运行1.2.qt_test.pro1.3.main.cpp 2.方法二&#xff1a;不在 .pr…...

Unity中UI系统1——GUI

介绍 工作原理和主要作用 基本控件 a.文本和按钮控件 练习&#xff1a; b.多选框和单选框 练习&#xff1a; 用的是第三种方法 c.输入框和拖动框 练习&#xff1a; 练习二&#xff1a; e.图片绘制和框 练习&#xff1a; 复合控件 a.工具栏和选择网格 练习&#xff1a; b.滚动视…...

GIt 删除某个特定commit

目的 多次commit&#xff0c;想删掉中间的一个/一些commit 操作方法 一句话说明&#xff1a;利用rebase命令的d表示移除commit的功能&#xff0c;来移除特定的commit # 压缩这3次commit,head~3表示从最近1次commit开始&#xff0c;前3个commit git rebase -i head~3rebase…...

Django --静态文件

静态文件 除了由服务器生成的HTML文件外&#xff0c;WEB应用一般需要提供一些其它的必要文件&#xff0c;比如图片文件、JavaScript脚本和CSS样式表等等&#xff0c;用来为用户呈现出一个完整的网页。在Django中&#xff0c;我们将这些文件统称为“静态文件”&#xff0c;因为…...

蓝桥杯第十三届省赛C++B组(未完)

目录 刷题统计 修剪灌木 X进制减法 【前缀和双指针】统计子矩阵 【DP】积木画 【图DFS】扫雷 李白打酒加强版 DFS (通过64%&#xff0c;ACwing 3/11&#xff09;; DFS(AC) DP&#xff08;AC&#xff09; 砍竹子(X) 刷题统计 题目描述 小明决定从下周一开始努力刷题准…...

编程生活day7--明明的随机数、6翻了、吃火锅

明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查&#xff0c;为了实验的客观性&#xff0c;他先用计算机生成了N个1到1000之间的随机整数&#xff08;N≤100&#xff09;&#xff0c;对于其中重复的数字&#xff0c;只保留一个&#xff0c;把其余相同的数…...

css酷炫边框

边框一 .leftClass {background: #000;/* -webkit-animation: twinkling 1s infinite ease-in-out; 1秒钟的开始结束都慢的无限次动画 */ } .leftClass::before {content: "";width: 104%;height: 102%;border-radius: 8px;background-image: linear-gradient(var(…...

使用 Docker 部署 Photopea 在线 PS 工具

1&#xff09;Photopea 介绍 GitHub&#xff1a;https://github.com/photopea/photopea 官方手册&#xff1a;https://www.photopea.com/learn/ Adobe 出品的「PhotoShop」想必大家都很熟悉啦&#xff0c;但是「PhotoShop」现在对电脑配置要求越来越高&#xff0c;体积越来越大…...

回溯法(一)——全排列 全组合 子集问题

全排列问题 数字序列 [ l , r ] [l,r] [l,r]​区间内元素的全排列问题 extern int ans[],l,r,num;//num&#xff1a;方案数 extern bool flag[]; void dfs(int cl){//cl:current left&#xff0c;即为当前递归轮的首元素if(cl r 1){//数组已越界&#xff0c;本轮递归结束for…...

【Pt】马灯贴图绘制过程 04-玻璃脏迹

目录 效果 步骤 一、透明玻璃 二、烟熏痕迹 三、粗糙 四、浮尘 效果 步骤 一、透明玻璃 1. 打开纹理集设置&#xff0c;着色器链接选择“新的着色器链接” 在着色器设置中可以看到此时名称为“Main shader &#xff08;Copy&#xff09;” 这里修改名称为“玻璃” 在…...

Rust 程序设计语言学习——枚举模式匹配

枚举&#xff08;enumerations&#xff09;&#xff0c;也被称作 enums。match 允许我们将一个值与一系列的模式相比较&#xff0c;并根据相匹配的模式执行相应代码。 1 枚举的定义 假设我们要跨省出行&#xff0c;有多种交通工具供选择。常用的交通工具有飞机、火车、汽车和轮…...

正则表达式(1)

文章目录 专栏导读1、match2、匹配目标3、通用匹配4、常用匹配规则表格 专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN 数据分析领域优质创作者&#xff0c;专注于分享python数据分析领域知识。 ✍ 本文录入于《python网络爬虫实战教学》&#xff0c;本专栏针对大学生…...

nginx + keepalived 搭建教程

1.安装依赖 yum install -y keepalived systemctl start keepalived systemctl enable keepalived 2.配置 a. keepalived.conf配置 global_defs {router_id nginx_server2 # 机器标识(backup节点为nfs_server2) }vrrp_script chk { script "/etc/keepalived/check_po…...

React事件和原生事件的执行顺序

在 React 中&#xff0c;事件处理分为两种类型&#xff1a;React 合成事件&#xff08;Synthetic Event&#xff09;和原生 DOM 事件&#xff08;Native DOM Event&#xff09;。它们的执行顺序略有不同。 React 合成事件 React 合成事件的执行顺序&#xff1a; React 合成事件…...

为什么在计算查询Q和键K的矩阵乘法时需要转置键矩阵K。示例说明q11,k11代表什么。线性变换矩阵 W_q 用于生成查询,W_k 用于生成键怎么获取的。

目录 为什么在计算查询Q和键K的矩阵乘法时需要转置键矩阵K。 示例说明q11,k11代表什么。...

剑指Offer题目笔记27(动态规划单序列问题)

面试题89&#xff1a; 问题&#xff1a; ​ 输入一个数组表示某条街道上的一排房屋内财产的数量。相邻两栋房屋不能同时被盗&#xff0c;问小偷能偷取到的最多财物。 解决方案一&#xff08;带缓存的递归&#xff09;&#xff1a; 解决方案&#xff1a; 由于有报警系统&…...

撸代码时,有哪些习惯一定要坚持?

我从2011年开始做单片机开发&#xff0c;一直保持以下撸代码的习惯。 1.做好代码版本管理 有些人&#xff0c;喜欢一个程序干到底&#xff0c;直到实现全部的产品功能&#xff0c;我以前做51单片机的项目就是这样。 如果功能比较多的产品&#xff0c;我不建议这样做&#xff0…...

【leetcode面试经典150题】17.罗马数字转整数(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…...

前后端开发之——文章分类管理

原文地址&#xff1a;前后端开发之——文章分类管理 - Pleasure的博客 下面是正文内容&#xff1a; 前言 上回书说到 文章管理系统之添加文章分类。就是通过点击“新建文章分类”按钮从而在服务端数据库中增加一个文章分类。 对于文章分类这个对象&#xff0c;增删改查属于配…...

第12届蓝桥杯省赛 ---- C/C++ C组

文章目录 1. ASC2. 空间3. 卡片4. 相乘5. 路径6.时间显示7.最少砝码8. 杨辉三角形9. 左孩子右兄弟 第12届蓝桥杯省赛&#xff0c;C/C C组真题&#xff0c;第10题不是很清楚&#xff0c;题解不敢乱放&#x1f601;&#x1f601;&#x1f601; 1. ASC 额。。。。 #include <i…...

IVS模型解释

核心思路 【Implied volatility surface predictability: The case of commodity markets】 半参数化模型&#xff1a;利用各种参数(或者因子)对隐含波动率进行降维&#xff08;静态参数化因子模型&#xff09;&#xff0c;对参数化因子的时间序列进行间接的建模 基于非对称…...

通用开发技能系列:Git

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 通用开发技能系列 文章&#xff0c;主要对编程通用技能Git进行学习 1.为什么使用版本控制系统 版本控制系统可以解决的问题 代码备份很重要版本控制很重要协同工作很重要责任追溯很重要 常见的版本控制系统 Gi…...

最新怎么订阅OnlyFans上喜欢的博主,详细教程

大家好&#xff0c;本文教大家如何用虚拟信用卡在 Onlyfans 订阅&#xff0c;链接在浏览器打开地址https://bewildcard.com/i/GPT310&#xff0c;虚拟卡开好之后&#xff0c;用支付宝充值就可以进行订阅OnlyFans平台的博主了。 什么是OnlyFans&#xff1f; OnlyFans 是一个提…...

Mysql故障和优化

一、MySQL故障 二、MySQL优化 1.硬件优化&#xff1a; 2.数据库设计与规划 1.提前估计数据量&#xff0c;使用什么存储引擎 2.数据库服务器专机专用&#xff0c;避免额外的服务可能导致的性能下降和不稳定性 3.增加多台服务器&#xff0c;以达到稳定、高效的效果。主从同步、…...

Windows系统C盘空间优化进阶:磁盘清理与Docker日志管理

Windows系统C盘空间优化进阶&#xff1a;磁盘清理与Docker日志管理 文章目录 Windows系统C盘空间优化进阶&#xff1a;磁盘清理与Docker日志管理磁盘清理工具 使用“运行”命令访问磁盘清理利用存储感知自动管理空间清理WinSxS文件夹结合手动清理策略 小结删除临时文件总结&…...

14届蓝桥杯 C/C++ B组 T7 子串简写 (字符串)

采用存储目标字符下标的方法&#xff0c;此题的想法比较新奇&#xff0c;故予以记录。 存好下标之后&#xff0c;可以先定位好启始的字符&#xff0c;然后去搜结尾字符符合长度k并且最靠近启始字符的下标&#xff0c;找到之后可以直接取到这个下标之后的所有下标&#xff0c;因…...

Android 系统大致启动流程

Android启动流程大体为&#xff1a;BootRom -> BootLoader -> Kernel -> Init -> Zygote -> SystemServer ->Launcher 1、Loader层 1.1、Boot ROM 电源按下&#xff0c;引导芯片代码开始从预定义的地方&#xff08;固化在ROM&#xff09;开始执行&#xff0…...

【Web】2024红明谷CTF初赛个人wp(2/4)

目录 ezphp playground 时间原因只打了2个小时&#xff0c;出了2道&#xff0c;简单记录一下 ezphp 参考文章 PHP filter chains: file read from error-based oracle https://github.com/synacktiv/php_filter_chains_oracle_exploit 用上面的脚本爆出部分源码&#xff…...

stable-diffusion-webui安装教程

现在AI开始进入绘画领域,并且能自动根据文本来创建图片出来,这是一个划时代的进步。 这时候,我也不能落后,要紧跟上时代的步伐,那么也来学习一下stable-diffusion的使用,这样也算多一项对技术的认识,提高对AI的认知。 从网上看到很多stable-diffusion-webui的安装,其…...

如何魔改 diffusers 中的 pipelines

如何魔改 diffusers 中的 pipelines 整个 Stable Diffusion 及其 pipeline 长得就很适合 hack 的样子。不管是通过简单地调整采样过程中的一些参数&#xff0c;还是直接魔改 pipeline 内部甚至 UNet 内部的 Attention&#xff0c;都可以实现很多有趣的功能或采样生图结果。 本…...

聊城网站建设lcbywl/广州疫情今天最新消息

先解释并查集 &#xff08;仅个人理解针对类似本题的问题&#xff09; 并查集是在数组的基础上&#xff0c;主要是一维数组&#xff0c;本例也用一维数组。如&#xff1a;int f[100]; 1、先将一位数组初始化&#xff0c;即f[i]i; 2、用并查集表示相连的&#xff08;或有关系&am…...

wordpress建B2C/网络营销的常用方法有哪些

对于社会著名教育家&#xff0c;能有这种见解&#xff0c;实在令人可以茅塞顿开&#xff01; 拨云见雾&#xff1b; 大学毕业后&#xff0c;并不是教育的终结&#xff0c; 一句话了悟&#xff1b; 了悟然后继续进行&#xff0c; 直观的教育&#xff0c;个人教育&#xff1b; 把…...

网站建设书籍免费/搜狗站长平台验证网站

当演示文稿拥有大量图片素材,并且您需要获得这些图片素材时,可以通过本节演示的方法,快速提取幻灯片中的所有图片素材。 首先在幻灯片文件的名称上点击鼠标右键,打开右键菜单,然后选择重命名命令。 将文件名称的扩展名修改为rar或zip,也就是将灯片文件修改为在压缩文件…...

wordpress安装后只有英文/seo怎么做推广

用途說明dos2unix命令用來將DOS格式(Windows格式)的文本文件轉換成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以 \r\n 作為斷行標志的&#xff0c;表示成十六進制就是0D 0A。而Unix下的文本文件是以 \n 作為斷行標志的&#xff0c;表示成十六…...

自己建网站做app/b站好看的纪录片免费

今天8:50-9:20由于程序问题&#xff0c;引起不能正常访问博客园&#xff0c;在此向大家表示歉意&#xff0c;请大家谅解&#xff01; 引起问题的原因&#xff1a;由于缓存的原因&#xff0c;目前服务器内存占用很大&#xff0c;超过了物理内存&#xff0c;昨天晚上改写了代码&a…...

有手机网站怎样做微信小程序/自动收录网

具体现象是在图形界面输入用户名和密码之后&#xff0c;再次提示需要输入用户名和密码。 步骤一&#xff1a;按快捷键进入命令行界面。ctrlaltf1。 步骤二&#xff1a;清空文件 clear log cd /var/log sudo su > lastlog > wtmp > dpkg.log > kern.log > syslo…...