QT笔记-QPush不规则画图与点击

这篇文章讲述了如何利用Qt库中的图像处理功能,如QMatrix和QPixmap,结合QPushButton,来创建基于美工提供的图形(如杯子形状)的可点击按钮。通过旋转图像,设置图标和尺寸,以及应用透明和无边框效果,实现了一个不规则形状的按钮。
摘要由CSDN通过智能技术生成
需求:
  • 按钮并不是长方形的,而是需要依据美工给出来的图像,进行点击,
    例如,需要画一个杯子样子的按钮。
  • 主要思路:
    取得图像的像素内容,(中途可以对图像进行旋转或是其他操作), 然后通过QPushButton的相关设置,做出不规则按钮出来。
{
        QMatrix leftmatrix;
        leftmatrix.rotate(123);

        //163,163为原始分辨率,这里稍做了调整。
        QPixmap pixmap(":/image/StartDown.png");
        QPixmap fitpixmap=pixmap.transformed(leftmatrix,Qt::SmoothTransformation);
        //pixmap.scaled(110,82).scaled(110, 70, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);

        ui->pushButton_cup->setIcon(QIcon(fitpixmap));
        ui->pushButton_cup->setIconSize(QSize(fitpixmap.size()));
        ui->pushButton_cup->setFlat(true);//就是这句能够实现按钮透明,用png图片时很有用
        ui->pushButton_cup->setStyleSheet("border: 0px");//消除边框,取消点击效果

        ui->pushButton_cup->resize(fitpixmap.size());
        ui->pushButton_cup->setMask(fitpixmap.mask());
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值