Qt 加载图片的几种方式 以及加载 loading

news2024/11/27 8:25:16

项目中经常使用加载图片:

常用有两种方式:

1.使用 QWidget 加载图片:

效果:

 样例源码:

    int pict_H = ui->widgetImage->height();
    int pict_W = ui->widgetImage->width();
    ui->widgetImage->setFixedSize( pict_W ,pict_H);
    QPixmap pixmap("C:/Users/A013237/Pictures/volume_2024623184252.png");
    QPalette palette;
    palette.setBrush(this->backgroundRole(), QBrush(pixmap.scaled(    // 缩放背景图.
                                                                      ui->widgetImage->size(),
                                                                      Qt::IgnoreAspectRatio,
                                                                      Qt::SmoothTransformation)));
   // this->setPalette(palette);
    ui->widgetImage->setAutoFillBackground(true);

    ui->widgetImage->setPalette(palette);

    ui->widgetImage->show();

2.使用 QLabel 加载图片:

    QLabel *label = new QLabel(&window);
    
    // 加载图片,替换为你的图片路径
    QPixmap pixmap("path_to_your_image.jpg");
 
    // 如果图片不在指定路径或尺寸问题,可以调整大小或使用一个默认的图片
    if (pixmap.isNull()) {
        label->setText("无法加载图片");
    } else {
        label->setPixmap(pixmap);
        label->setScaledContents(true); // 自动缩放以适应标签大小
    }
 
    // 在窗口中居中显示QLabel
    label->setGeometry(0, 0, window.width(), window.height());

3. 加载 loading gif 图片

效果:

 源码样例:

#ifndef WAITING_H
#define WAITING_H

#include <QWidget>
#include <QLabel>
#include <QMovie>
 
namespace Ui {
class Waiting;
}

class Waiting : public QWidget
{
    Q_OBJECT

public:
    explicit Waiting(QWidget *parent = nullptr);
    ~Waiting();
 
private:
    QMovie *movie;
    QLabel *label;
    QLabel * tip_label;
    QFrame * background;
   
private:
    Ui::Waiting *ui;
};

#endif

cpp

#include "waiting.h"
#include "ui_waiting.h"
#include<QDebug>
Waiting::Waiting(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Waiting)
{
    ui->setupUi(this);

    this->setFixedSize(400,400);
    background = new QFrame(this);
    background->setStyleSheet("background-color:#0000;border-radius:1px;");
    background->setGeometry(0, 50, 400,400);
    label = new QLabel(background);
    label->setGeometry(0, 0, 400,400);
    movie = new QMovie(":/Resources/loading-t.gif");
    movie->setScaledSize(QSize(400,400));
    label->setScaledContents(true);
    label->setMovie(movie);
    movie->start();


}

Waiting::~Waiting()
{
    delete ui;
}

使用:

#include "waiting.h"
void MainWindow::on_pushButton_loading_clicked()
{
    Waiting *w = new Waiting(this);
      w->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
      w->setWindowModality(Qt::ApplicationModal);
      w->move(880,450);
      w->show();

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1897399.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【车载开发系列】GIT安装详细教程

【车载开发系列】GIT安装详细教程 【车载开发系列】GIT安装详细教程 【车载开发系列】GIT安装详细教程一. GIT软件概念二. GIT安装步骤三. GIT安装确认三. GIT功能使用1&#xff09;Git Bash2&#xff09;Git CMD3&#xff09;Git FAQs4&#xff09;Git GUI 一. GIT软件概念 G…

comsol随机材料参数赋值

comsol随机材料参数赋值 在comsol中定义外部matlab函数 在comsol中定义外部matlab函数 首选项&#xff0c;安全性&#xff0c;允许 材料中&#xff0c;将杨氏模量更改为变量函数 计算 应力有波动&#xff0c;可见赋值成功 也可以看到赋值的材料参数&#xff1a;

针对 LLM 应用程序优化 RAG

前言 大型语言模型 (LLM)&#xff08;如 GPT-4&#xff09;在生成类似人类的文本方面表现出了令人印象深刻的能力。然而&#xff0c;在保留事实知识方面&#xff0c;它们仍然面临挑战。这就是检索增强生成 (RAG) 的作用所在——将 LLM 的生成能力与外部知识源相结合。RAG 已成…

TAPD项目管理软件无法与企业微信进行关联

TAPD一段时间未使用后&#xff0c;需要重新启动&#xff0c;此时会出现你的企业微信尚未与TAPD账号关联的提示 解决方案&#xff1a;找到TAPD应用&#xff0c;先删除应用&#xff0c;然后再解除禁用即可

【anaconda】—“conda info“命令后conda配置和环境信息的理解

文章目录 conda配置和环境信息的理解 conda配置和环境信息的理解 安装anaconda成功后&#xff0c;打开cmd&#xff0c;输入"conda info"命令&#xff0c;结果显示如下&#xff1a; conda的配置和环境信息的输出。以下是对每个字段的解释&#xff1a; active environm…

【MySQL】详解

SQL语句的分类&#xff1a; 1.DDL&#xff08;Data Definition Languages&#xff09;语句&#xff1a; 数据定义语言 &#xff0c;这些语句定义了不同的数据段&#xff0c;数据库&#xff0c;表&#xff0c;列&#xff0c;索引等数据库对象的定义。常用的语句关键字主要包括…

spark shuffle写操作——BypassMergeSortShuffleWriter

创建分区文件writer 每一个分区都生成一个临时文件&#xff0c;创建DiskBlockObjectWriter对象&#xff0c;放入partitionWriters 分区writer写入消息 遍历所有消息&#xff0c;每一条消息都使用分区器选择对应分区的writer然后写入 生成分区文件 将分区writer的数据flu…

强烈建议!所有Python基础差的同学,死磕这本64页的背记手册!

Python背记手册是一份非常实用的学习资料&#xff0c;它涵盖了Python语言的基础知识、语法规则、常用函数和模块等内容&#xff0c;对于初学者和有一定基础的Python程序员来说都非常有用。通过背诵这份手册&#xff0c;可以加深对Python语言的理解和记忆&#xff0c;提高编程能…

百度云智能媒体内容分析一体机(MCA)建设

导读 &#xff1a;本文主要介绍了百度智能云MCA产品的概念和应用。 媒体信息海量且复杂&#xff0c;采用人工的方式对视频进行分析处理&#xff0c;面临着效率低、成本高的困难。于是&#xff0c;MCA应运而生。它基于百度自研的视觉AI、ASR、NLP技术&#xff0c;为用户提供音视…

RFID电子锁在物流货运智能锁控管理的创新方案

物流货运锁控的现实挑战 易损性&#xff1a;传统锁具易受物理破坏&#xff0c;无法抵御恶意撬锁。 低效率&#xff1a;依赖人工操作&#xff0c;开锁速度慢&#xff0c;影响作业效率。 高成本&#xff1a;钥匙的制作、管理和丢失替换成本高昂。 监控缺陷&#xff1a;缺乏实…

笔记本如何录屏?3个方法分享给你

随着科技的飞速发展&#xff0c;录屏功能已不再局限于传统的教育或游戏领域&#xff0c;而是成为了大众都能用得到的创作、分享、记录生活的得力助手。同时&#xff0c;在生活中人们更多地使用到笔记本电脑&#xff0c;笔记本电脑有着其便携性、高效能和丰富软件资源&#xff0…

8.13 矢量图层面要素反转面要素渲染(Inverted polygons Renderer)

前言 本章介绍矢量图层面要素反转面要素(Inverted polygons Renderer)的使用说明&#xff1a;文章中的示例代码均来自开源项目qgis_cpp_api_apps 反转面要素(Inverted polygons Renderer) 反转面要素渲染常用于掩膜数据。 反转面要素(Inverted polygons Renderer)是一种渲染方…

python库(2):Passlib库

1 Passlib简介 Passlib库就是一个强大的工具&#xff0c;专门用于密码的安全存储和验证。本文将介绍Passlib库的基本概念、功能和使用方法&#xff0c;帮助更好地理解和应用密码安全技术。 Passlib是一个用于密码加密、哈希和验证的Python库&#xff0c;它提供了多种密码哈希…

adb不插usb线通过wifi调试

说起做手机开发也有好多年了&#xff0c;说来惭愧&#xff0c;我最近才知道安卓手机是可以不插数据线进行开发调试的。起因是公司近期采购了一批安卓一卡通设备&#xff0c;需要对其进行定制开发APP,但是由于我插USB调试发现没有反应。通过询问厂家才知道可以通过WIFI进行调试。…

服务器U盘安装Centos 7时提示Warning:/dev/root does not exist

这是没有找到正确的镜像路径导致的&#xff0c;我们可以在命令行输入ls /dev看一下有哪些盘符 像图中红色圈起来的就是我插入U盘的盘符&#xff0c;大家的输几盘可能做了多个逻辑盘&#xff0c;这种情况下就可以先将U盘拔掉再ls /dev看一下和刚才相比少了那两个盘符&#xff0c…

Linux服务器性能参数指标

【摘要】一个基于 Linux 操作系统的服务器运行的同时&#xff0c;会表征出各种各样参数信息&#xff0c;这些蛛丝马迹往往会帮助快速定位跟踪问题。 这里只是一些简单的工具查看系统的相关参数&#xff0c;当然很多工具也是通过分析加工 /proc、/sys 下的数据来工作的&#xff…

源代码防泄漏的制胜法宝——沙箱

沙箱技术作为现代信息安全领域的一种重要手段&#xff0c;其在源代码防泄密方面的应用愈发受到业界的关注。源代码作为企业或组织的核心资产&#xff0c;一旦泄露&#xff0c;不仅可能导致知识产权的流失&#xff0c;还可能对企业运营造成重大影响。因此&#xff0c;利用沙箱技…

云微客短视频矩阵全域营销,更高效的获客引流方式!

在抖音这样一个拥有海量用户和内容的短视频平台上&#xff0c;单一账号往往难以覆盖我们的客户群体&#xff0c;甚至于每天发布四五条视频&#xff0c;所引发的流量也是微乎其微的。在竞争如此激烈的市场环境中&#xff0c;商家企业无不想方设法追求更高效的获客引流方式&#…

MUNIK解读ISO26262--什么是DFA

我们在学习功能安全过程中&#xff0c;经常会听到很多安全分析方法&#xff0c;有我们熟知的FMEA(Failure Modes Effects Analysis)和FTA(Fault Tree Analysis)还有功能安全产品设计中几乎绕不开的FMEDA(Failure Modes Effects and Diagnostic Analysis)&#xff0c;相比于它们…

内存管理(RTOS)

目录 #RTOS内存管理介绍 #堆定义 #栈定义 #RTOS四种堆分配方案 #Heap_1.c #Heap_2.c #Heap_3.c #Heap_4.c #Heap_5.c #stm32cublemx对堆的配置 #配置堆相关函数 #申请内存函数 #钩子函数 前言&#xff1a;本课程参考韦东山老师视频&#xff0c;连接放在最后。 #R…