异形窗体即不规则窗体,一般采用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绘制异形窗体相关推荐

  1. Linux 平台下基于Qt 的电子地图的绘制

    Linux 平台下基于Qt 的电子地图的绘制 摘要-------------------------------------------1   关键词------------------------- ...

  2. qt linux字体,Qt字体轮廓的绘制

    绘制的过程如下: 1     QFont font; 2     font.setPointSize(this->height() * 2 * mZoomRatio / 3); 3     fo ...

  3. Qt总结之八:绘制仪表盘

    前言 (1)QPainter用来执行具体的绘图相关的操作,用来画点,线,填充,变换,alpha/阿尔法通道(透明度)  *Appha的值越大,就越不透明,范围是0-255,255就是不透明,0就是完全 ...

  4. python PyQt5如何绘制矩形框?(画框/绘框)

    参考代码: from PyQt5.QtWidgets import QWidget, QApplication, QLabel from PyQt5.QtCore import QRect, Qt f ...

  5. linux qt 自定义控件,编写Qt Designer自定义控件(一)——如何创建并使用Qt自定义控件...

    要想在Qt Designer中使用自定义控件,必须要使Qt Designer能够知道我们的自定义控件的存在.有两种方法可以把新自定义控件的信息通知给Qt Designer:"升级(promo ...

  6. Qt 在Label上面绘制罗盘

    自己写的一个小小的电子罗盘的一个小程序,不过是项目的一部分,只可以贴绘制部分代码 效果如下图 首先开始自己写的时候,虽然知道Qt 的坐标系是从左上角开始的,所以,使用了算法,在绘制后,在移动回来,但是 ...

  7. Qt下使用Shader绘制三角形

    在Qt下使用可编程管线编写OpenGL的流程是怎样的呢? 下面演示了Qt下使用可编程管线的基本代码:(绘制三个不同的三角形,并做些旋转变换) 在Qt中,我们从QGLWidget继承,来实现OpenGL ...

  8. qt系统托盘显示、无主窗体

    系统图盘是应用程序经常用到的一个控件,当应用程序需要长时间存在的时候,这个控件会变得非常有用,比如,窗口隐藏,显示,关于.关闭等接口都可以放在图盘中处理,今天与到一个问题,需求是这样的:只需要显示图盘 ...

  9. QT绘制饼状图,自定义切片。

    QT绘制饼状图,自定义切片 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 创建简单的甜甜圈图,以及对切片进行一些自定义. 项目技术 qt5.12,qt charts ...

最新文章

  1. python中的队列和栈_python的队列和栈
  2. OpenCV处理引起光学错觉的图像
  3. Docker 基础技术之 Linux namespace 源码分析
  4. Red 编程语言 2019 开发计划:全速前进!
  5. easyui-validatebox验证 radio
  6. 新物种!大数据安全工程研究中心告诉你什么叫“数据安全成熟度测评师”
  7. mysql数据库插入数据错误Error Code: 1118 - Row size too large ( 8126)
  8. Unity HTC Vive手柄汉诺塔操作
  9. java IO之字节流和字符流-OutputSteam和InputStream
  10. Flutter封装加载状态视图,加载中、加载成功、加载失败、加载无数据
  11. web前端进阶架构师之路
  12. 商品管理系统(可用于学生参考)
  13. java怎么求传递闭包_利用定义求解传递闭包的关系矩阵
  14. 分享!微信群二维码突破100人限制和7天不过期的方法
  15. 推荐系统(十六)多任务学习:腾讯PLE模型(Progressive Layered Extraction model)
  16. html table td 居中显示,table td怎么垂直居中显示 详解table中如何隐藏td?
  17. jupyter修改工作路径提示找不到指定模块
  18. 网易互娱2017实习生招聘在线笔试(三)
  19. 每天一篇论文 323/365 Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning
  20. Pytorch 利用Facenet和Retinaface实现人脸识别

热门文章

  1. 使用ildasm和ilasm修改dll
  2. 【Demo】修改销售订单库存地点
  3. 数据表_业务地址(Business Address)信息
  4. SAP调用外部web service
  5. 什么是企业的固定资产全寿命周期管理
  6. SAP MM 用户不希望采购订单一旦Release就自动打印输出,如何控制?
  7. ERP兵法——从案例透视方法(实施篇下)
  8. SAP SHD0的详细简介
  9. alv+checkbox+select all
  10. ABAP设置输入焦点和表格控件行数的注意事项