linux qt绘框,Qt绘制异形窗体
异形窗体即不规则窗体,一般采用png图片,一般绘制异形窗体分两步:
1、设置遮罩区
2、绘制图片
使用png图片的透明部分作为遮罩区,然后绘制图片,这样我们就看到一个只绘制了非透明部分的图形,废话少说,以实现绘制一只蝴蝶(蝴蝶为半透明)为例,效果如下:
头文件:
1: #include
2: class TransDialog : public QWidget
3: {
4: Q_OBJECT
5: public:
6: explicit TransDialog(QWidget *parent = 0);
7: void paintEvent(QPaintEvent *event) ;
8: private:
9: QPixmap m_Pixmap;
10: };
11:
cpp文件:
1: #include "transdialog.h"
2: #include
3: #include
4: #include
5:
6: TransDialog::TransDialog(QWidget *parent) :
7: QWidget(parent,Qt::FramelessWindowHint)
8: {
9: //让程序背景半透明
10: this->setWindowOpacity(0.5);
11: //加载一幅有部分区域是透明的图片作为程序的界面
12: m_Pixmap.load("hudie.png");
13: resize(640, 480);
14: //保持图片跟界面一样大小
15: m_Pixmap = m_Pixmap.scaled(size());
16: //设置自动填充
17: setAutoFillBackground(true);
18:
19: //不规则窗口的关键,将图片透明的地方设为穿透
20: setMask( m_Pixmap.mask() );
21:
22: }
23:
24: void TransDialog::paintEvent(QPaintEvent *event)
25: {
26: //绘制背景图片
27: QPalette bgPalette = this->palette();
28: bgPalette.setBrush(QPalette::Background,m_Pixmap);
29: this->setPalette(bgPalette);
30: }
Qt 的详细介绍:请点这里
Qt 的下载地址:请点这里
linux qt绘框,Qt绘制异形窗体相关推荐
- Linux 平台下基于Qt 的电子地图的绘制
Linux 平台下基于Qt 的电子地图的绘制 摘要-------------------------------------------1 关键词------------------------- ...
- qt linux字体,Qt字体轮廓的绘制
绘制的过程如下: 1 QFont font; 2 font.setPointSize(this->height() * 2 * mZoomRatio / 3); 3 fo ...
- Qt总结之八:绘制仪表盘
前言 (1)QPainter用来执行具体的绘图相关的操作,用来画点,线,填充,变换,alpha/阿尔法通道(透明度) *Appha的值越大,就越不透明,范围是0-255,255就是不透明,0就是完全 ...
- python PyQt5如何绘制矩形框?(画框/绘框)
参考代码: from PyQt5.QtWidgets import QWidget, QApplication, QLabel from PyQt5.QtCore import QRect, Qt f ...
- linux qt 自定义控件,编写Qt Designer自定义控件(一)——如何创建并使用Qt自定义控件...
要想在Qt Designer中使用自定义控件,必须要使Qt Designer能够知道我们的自定义控件的存在.有两种方法可以把新自定义控件的信息通知给Qt Designer:"升级(promo ...
- Qt 在Label上面绘制罗盘
自己写的一个小小的电子罗盘的一个小程序,不过是项目的一部分,只可以贴绘制部分代码 效果如下图 首先开始自己写的时候,虽然知道Qt 的坐标系是从左上角开始的,所以,使用了算法,在绘制后,在移动回来,但是 ...
- Qt下使用Shader绘制三角形
在Qt下使用可编程管线编写OpenGL的流程是怎样的呢? 下面演示了Qt下使用可编程管线的基本代码:(绘制三个不同的三角形,并做些旋转变换) 在Qt中,我们从QGLWidget继承,来实现OpenGL ...
- qt系统托盘显示、无主窗体
系统图盘是应用程序经常用到的一个控件,当应用程序需要长时间存在的时候,这个控件会变得非常有用,比如,窗口隐藏,显示,关于.关闭等接口都可以放在图盘中处理,今天与到一个问题,需求是这样的:只需要显示图盘 ...
- QT绘制饼状图,自定义切片。
QT绘制饼状图,自定义切片 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 创建简单的甜甜圈图,以及对切片进行一些自定义. 项目技术 qt5.12,qt charts ...
最新文章
- python中的队列和栈_python的队列和栈
- OpenCV处理引起光学错觉的图像
- Docker 基础技术之 Linux namespace 源码分析
- Red 编程语言 2019 开发计划:全速前进!
- easyui-validatebox验证 radio
- 新物种!大数据安全工程研究中心告诉你什么叫“数据安全成熟度测评师”
- mysql数据库插入数据错误Error Code: 1118 - Row size too large ( 8126)
- Unity HTC Vive手柄汉诺塔操作
- java IO之字节流和字符流-OutputSteam和InputStream
- Flutter封装加载状态视图,加载中、加载成功、加载失败、加载无数据
- web前端进阶架构师之路
- 商品管理系统(可用于学生参考)
- java怎么求传递闭包_利用定义求解传递闭包的关系矩阵
- 分享!微信群二维码突破100人限制和7天不过期的方法
- 推荐系统(十六)多任务学习:腾讯PLE模型(Progressive Layered Extraction model)
- html table td 居中显示,table td怎么垂直居中显示 详解table中如何隐藏td?
- jupyter修改工作路径提示找不到指定模块
- 网易互娱2017实习生招聘在线笔试(三)
- 每天一篇论文 323/365 Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning
- Pytorch 利用Facenet和Retinaface实现人脸识别