遮罩(Qt)

图片文件:

.h文件

复制代码
class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

protected:
    void paintEvent(QPaintEvent *event)override;//绘图事件
    void mousePressEvent(QMouseEvent* event);//鼠标按下事件

private:
    Ui::Widget *ui;
};
复制代码

.cpp文件

复制代码
{
    ui->setupUi(this);

    QPixmap pixmap;
   pixmap.load(":/new/prefix1/flower.png")//图片路径
    
        ui->label->resize(pixmap.size());
       // ui->label->setPixmap(pixmap);
        resize(pixmap.size());
        //设置遮罩
        setMask(pixmap.mask());
}

Widget::~Widget()
{
    delete ui;
}

void Widget::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    painter.drawPixmap(0,0,QPixmap(":/new/prefix1/flower.png"));//绘图

}

void Widget::mousePressEvent(QMouseEvent *event)
{
    close();//鼠标按下时关闭
}

复制代码

 

posted @   乐吴  阅读(249)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
点击右上角即可分享
微信分享提示