目录

  • 一、项目介绍
  • 二、项目基本配置
  • 三、UI界面设置
  • 四、主程序实现
    • 4.1 widget.h头文件
    • 4.2 widget.cpp源文件
  • 五、效果演示

一、项目介绍

本文介绍利用QPixmap设计图片透明度,可以看到拖动下方进度条,用于控制上方图片的透明度。

二、项目基本配置

新建一个Qt案例,项目名称为“TransparencyTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。

三、UI界面设置

UI界面如下:

序号 名称 类型 属性
label_photo QLabel /
slider QSlider minimum:0;maximum:255;

四、主程序实现

4.1 widget.h头文件

头文件中需要声明滑动条移动槽函数:
右键——>滑动条——>sliderMoved:

我这里是:

private slots:void on_Slider_sliderMoved(int position);

4.2 widget.cpp源文件

源文件中首先在构造函数中设置背景label的图片,然后设置label位置,设置滑动条初始位置位于最右侧:

    //设置窗口大小setFixedSize(800,600);//设置背景label的图片QPixmap pix(":/test.jpg");ui->label_photo->setPixmap(pix);//设置lable位置ui->label_photo->setScaledContents(true);ui->label_photo->setGeometry(10,10,200,150);ui->label_photo->raise();ui->label_photo->show();//设置初始滑动条位置在最右端ui->Slider->setValue(255);

定义滑动条滑动槽函数:

void Widget::on_Slider_sliderMoved(int position)
{//设置新的图片的透明度QPixmap pix1(":/test.jpg");QPixmap temp(pix1.size());temp.fill(Qt::transparent);QPainter p1(&temp);p1.setCompositionMode(QPainter::CompositionMode_Source);p1.drawPixmap(0, 0, pix1);p1.setCompositionMode(QPainter::CompositionMode_DestinationIn);//根据QColor中第四个参数设置透明度,此处position的取值范围是0~255p1.fillRect(temp.rect(), QColor(0, 0, 0, position));p1.end();pix1 = temp;ui->label_photo->setPixmap(pix1);
}

五、效果演示

完整效果如下:

如果没有看懂的话,完整代码可以参考:https://download.csdn.net/download/didi_ya/86268287


ok,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~

Qt实战案例(54)——利用QPixmap设计图片透明度相关推荐

  1. 利用QPixmap显示图片

    利用QPixmap显示图片 我们来实现在窗口上显示图片,并将图片进行平移,缩放,旋转和扭曲.这里我是利用QPixmap类来实现图片显示的. 一.利用QPixmap显示图片. 1.将以前的工程文件夹进行 ...

  2. Qt实战案例(13)(序)——以QToolButton为例介绍Qt界面外观设计

    目录 一.项目介绍 二.项目基本配置 三.UI界面设计 四.主程序实现 4.1 widget.h头文件 4.2 widget.cpp源文件 4.3 main.qss 五.效果演示 一.项目介绍 以QT ...

  3. Qt实战案例(42)——利用Qt实现自定义标题栏功能(自定义最大化、最小化、关闭等功能)

    目录 一.项目介绍(为什么要自自定义标题栏功能) 二.项目基本配置 三.UI界面设计 四.主程序实现 4.1 隐藏边框 4.2 设置最大化(还原),最小化,关闭按钮的样式风格 4.3 关闭按钮的实现 ...

  4. Qt实战案例(2)——电子时钟的设计

    目录 一.项目介绍 二.项目基本配置 三.UI界面设计 四.主程序实现 4.1 添加新文件 4.2 digiclock.h头文件 4.3 digiclock.cpp源文件 4.4 main.cpp源文 ...

  5. Qt实战案例(28)——利用QSQL相关类实现对MySQL数据库的基本操作及相关设置详解

    目录 一.项目介绍 二.项目基本配置 2.1 安装MySQL 2.2 创建Qt项目 2.3 移动libmysql.dll文件 三.UI界面设计 四.主程序实现 4.1 pro文件 4.2 main.c ...

  6. Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)

    目录 一.项目介绍 二.项目基本配置 三.UI界面设计 四.连接数据库模块 五.添加记录功能 六.完整代码 七.效果演示 一.项目介绍 结合SQL数据库.XML以及TableView相关知识,展示汽车 ...

  7. Qt实战案例(41)——利用QWinTaskbarButton和QWinTaskbarProgress类实现任务栏进度条的显示

    目录 一.项目介绍 二.项目基本配置 三.UI界面设置 四.主程序实现 4.1 pro文件 4.2 widget.h头文件 4.3 widget.cpp源文件 五.效果演示 一.项目介绍 任务栏进度条 ...

  8. QT 利用QPixmap复制图片

    记录一下,今天忘记这个用法了,想查资料不知道从哪里查起,结果就是差点气死,TMD 先选择把那个图片复制到那里去,这里是我的路径,你们的自己填,命名规则就是当前的日期. QDateTime curren ...

  9. Qt实战案例(9)——利用QLineEdit设置输入掩码来限制输入内容

    目录 一.输入掩码介绍 二.代码示例 2.1 input Mask介绍 2.2 input Mask示例 2.3 输入与输出 三.拓展--输入约束 一.输入掩码介绍 QLineEdit提供了输入掩码( ...

  10. python做小程序-【实战案例】利用Python做出趣味版防沉迷小程序

    今天带领大家利用Python做出趣味版防沉迷小程序 查询电脑的所有进程 用Python循环检测电脑软件的运行情况,当发现游戏软件时弹出警告窗口,并截图保存.学会这项技能,就再也不怕孩子偷偷打游戏了.下 ...

最新文章

  1. import configparser config.read(config_path) 报错 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x
  2. linux ext4 img解包打包教程,解打包.img.ext4(转)
  3. redux学习笔记归纳
  4. iPhone开发进阶(1) --- 深入理解iPhone OS/SDK与Objective-C 2.0
  5. File类判断和获取功能
  6. python 模块和包
  7. xshell报编码问题时可以修改xshell编码
  8. JavaScript中的const
  9. java怎么改变数组的名,java – Spring HATEOASHAL:在_embedded中更改数组名称
  10. Spring MVC(三) 数据转换、格式化、校验
  11. [NOIP2014]自测
  12. 安装win10虚拟机遇到的坑
  13. 阴阳师服务器维护3月25日,阴阳师3月25日更新内容-阴阳师3月25日更新内容介绍_牛游戏网...
  14. 基于ARM裸机的知识点总结(9)------基于S5PV210的定时器、看门狗和RTC
  15. 王者荣耀服务器维护到什么时候7月9号,王者荣耀7月9号更新产生的新变化
  16. 智能家居无线方案ZIGBEE、Z-Wave、WIFI、蓝牙、红外、GPRS以及NB-IOT对比
  17. redis基数树rax源码分析(1)
  18. JD token解密之旅
  19. 高版本CAD如何降低版本?来看这种降低版本方法
  20. JPA手写动态sql

热门文章

  1. topic是短语还是句子_词组、短语、句子--Unit 3 Topic 3
  2. JNA使用问题及解决
  3. 计算机限制360打不开,360安全卫士软件突然打不开是什么情况?问题原因及解决方法...
  4. 修改bios密码 服务器,为BIOS设置密码让我们的系统更加安全
  5. python怎么回到开头_python如何回到cod的开始
  6. 如何建立一个网站(我的5年经验谈)
  7. 在上海创业的日子之寻找办公室
  8. Unity Canvas Scaler 组件的使用
  9. Visual Studio 2015 介绍
  10. 读史笔记(I) 日光之下