Qt实战案例(54)——利用QPixmap设计图片透明度
目录
- 一、项目介绍
- 二、项目基本配置
- 三、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设计图片透明度相关推荐
- 利用QPixmap显示图片
利用QPixmap显示图片 我们来实现在窗口上显示图片,并将图片进行平移,缩放,旋转和扭曲.这里我是利用QPixmap类来实现图片显示的. 一.利用QPixmap显示图片. 1.将以前的工程文件夹进行 ...
- Qt实战案例(13)(序)——以QToolButton为例介绍Qt界面外观设计
目录 一.项目介绍 二.项目基本配置 三.UI界面设计 四.主程序实现 4.1 widget.h头文件 4.2 widget.cpp源文件 4.3 main.qss 五.效果演示 一.项目介绍 以QT ...
- Qt实战案例(42)——利用Qt实现自定义标题栏功能(自定义最大化、最小化、关闭等功能)
目录 一.项目介绍(为什么要自自定义标题栏功能) 二.项目基本配置 三.UI界面设计 四.主程序实现 4.1 隐藏边框 4.2 设置最大化(还原),最小化,关闭按钮的样式风格 4.3 关闭按钮的实现 ...
- Qt实战案例(2)——电子时钟的设计
目录 一.项目介绍 二.项目基本配置 三.UI界面设计 四.主程序实现 4.1 添加新文件 4.2 digiclock.h头文件 4.3 digiclock.cpp源文件 4.4 main.cpp源文 ...
- Qt实战案例(28)——利用QSQL相关类实现对MySQL数据库的基本操作及相关设置详解
目录 一.项目介绍 二.项目基本配置 2.1 安装MySQL 2.2 创建Qt项目 2.3 移动libmysql.dll文件 三.UI界面设计 四.主程序实现 4.1 pro文件 4.2 main.c ...
- Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)
目录 一.项目介绍 二.项目基本配置 三.UI界面设计 四.连接数据库模块 五.添加记录功能 六.完整代码 七.效果演示 一.项目介绍 结合SQL数据库.XML以及TableView相关知识,展示汽车 ...
- Qt实战案例(41)——利用QWinTaskbarButton和QWinTaskbarProgress类实现任务栏进度条的显示
目录 一.项目介绍 二.项目基本配置 三.UI界面设置 四.主程序实现 4.1 pro文件 4.2 widget.h头文件 4.3 widget.cpp源文件 五.效果演示 一.项目介绍 任务栏进度条 ...
- QT 利用QPixmap复制图片
记录一下,今天忘记这个用法了,想查资料不知道从哪里查起,结果就是差点气死,TMD 先选择把那个图片复制到那里去,这里是我的路径,你们的自己填,命名规则就是当前的日期. QDateTime curren ...
- Qt实战案例(9)——利用QLineEdit设置输入掩码来限制输入内容
目录 一.输入掩码介绍 二.代码示例 2.1 input Mask介绍 2.2 input Mask示例 2.3 输入与输出 三.拓展--输入约束 一.输入掩码介绍 QLineEdit提供了输入掩码( ...
- python做小程序-【实战案例】利用Python做出趣味版防沉迷小程序
今天带领大家利用Python做出趣味版防沉迷小程序 查询电脑的所有进程 用Python循环检测电脑软件的运行情况,当发现游戏软件时弹出警告窗口,并截图保存.学会这项技能,就再也不怕孩子偷偷打游戏了.下 ...
最新文章
- import configparser config.read(config_path) 报错 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x
- linux ext4 img解包打包教程,解打包.img.ext4(转)
- redux学习笔记归纳
- iPhone开发进阶(1) --- 深入理解iPhone OS/SDK与Objective-C 2.0
- File类判断和获取功能
- python 模块和包
- xshell报编码问题时可以修改xshell编码
- JavaScript中的const
- java怎么改变数组的名,java – Spring HATEOASHAL:在_embedded中更改数组名称
- Spring MVC(三) 数据转换、格式化、校验
- [NOIP2014]自测
- 安装win10虚拟机遇到的坑
- 阴阳师服务器维护3月25日,阴阳师3月25日更新内容-阴阳师3月25日更新内容介绍_牛游戏网...
- 基于ARM裸机的知识点总结(9)------基于S5PV210的定时器、看门狗和RTC
- 王者荣耀服务器维护到什么时候7月9号,王者荣耀7月9号更新产生的新变化
- 智能家居无线方案ZIGBEE、Z-Wave、WIFI、蓝牙、红外、GPRS以及NB-IOT对比
- redis基数树rax源码分析(1)
- JD token解密之旅
- 高版本CAD如何降低版本?来看这种降低版本方法
- JPA手写动态sql