QT不规则形状的按钮的实现
Qt实现按钮的不规则样式设置,不是视觉欺骗,是真正的不规则按钮,点击按钮外⾯不会触发按钮的点击信号
使⽤如下的代码可以实现特殊形状的按钮,但是按钮还是矩形的,如果按在不规则图形的外⾯,但是是按钮的矩形的区域仍然可以触发按钮。
ui->pushButton_2->setStyleSheet("QPushButton{"
"border-image:url(:/image/pms3.png)}"
"QPushButton:pressed{"
"border-image:url(:/image/pms3Clicked.png)}"
"QPushButton:checked{"
"border-image:url(:/image/pms3Checked.png)}"
"QPushButton:checked:hover{"
"border-image:url(:/image/pms3hover.png)}"
"QPushButton:hover{"
"border-image:url(:/image/pms3hover.png)}"
改变button按钮的形状);
使⽤如下代码可以实现特殊的按钮,该按钮将会根据图⽚的形状实现不规则形状。但是按钮的形状不能发⽣改变。
QPixmap pix;
pix.load(":/image/pms3.png");
ui->pushButton_2->setFixedSize(pix.size());
ui->pushButton_2->setMask(pix.mask());
ui->pushButton_2->setStyleSheet("background-image: url(:/image/pms3.png)");
如果按照下⾯的代码顺序,把两段代码结合起来,就可以避免上⾯两种⽅式的缺点,兼具两种有点:不规则形状的按钮就是不规则的图像的区域,按钮点击会有图样的变化,
QPixmap pix;
pix.load(":/image/pms3.png");
ui->pushButton_2->setFixedSize(pix.size());
ui->pushButton_2->setMask(pix.mask());
ui->pushButton_2->setStyleSheet("background-image: url(:/image/pms.png)");
ui->pushButton_2->setStyleSheet("QPushButton{"
"border-image:url(:/image/pms3.png)}"
"QPushButton:pressed{"
"border-image:url(:/image/pms3Clicked.png)}"
"QPushButton:checked{"
"border-image:url(:/image/pms3Checked.png)}"
"QPushButton:checked:hover{"
"border-image:url(:/image/pms3hover.png)}"
"QPushButton:hover{"
"border-image:url(:/image/pms3hover.png)}"
);
如下⽂章也是很好的参考资料:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。