#include <QMouseEvent>
#include <QPainter>
#include <QPixmap>
#include <QBitmap>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
QPixmap pix;
/*
以下四行代码,任意一行都是有效的
*/
pix.load("D:\\VS\\qtCreator\\ShapeWidget\\puppy.png", 0, Qt::AvoidDither);
//pix.load("D:\\VS\\qtCreator\\ShapeWidget\\puppy.png",0, Qt::ThresholdAlphaDither);
//pix.load("D:\\VS\\qtCreator\\ShapeWidget\\puppy.png", 0, Qt::ThresholdDither );
//pix.load("D:\\VS\\qtCreator\\ShapeWidget\\puppy.png", 0, Qt::AvoidDither | Qt::ThresholdAlphaDither | Qt::ThresholdDither );
resize(pix.size());
setMask(QBitmap(pix.mask()));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::paintEvent(QPaintEvent* event) {
QPainter painter(this);
painter.drawPixmap(rect(),QPixmap("D:\\VS\\qtCreator\\ShapeWidget\\puppy.png"),QRect());
}
超级简单的不规则轮廓的对话框的实现
最新推荐文章于 2021-09-15 23:49:25 发布
本文介绍如何使用Qt创建自定义对话框,并详细解释了如何加载并显示图片资源,包括设置窗口大小以匹配图片尺寸及应用透明度掩码的方法。
7639

被折叠的 条评论
为什么被折叠?



