Qt5:不规则按钮的实现---通过贴图实现

在应用开发中,有时候为了美观会在UI界面中增加不规则的按钮

现在我们就来看看Qt中是怎么实现不规则按钮的

///////////////////////////////////////////////////////////////////////////////////

实现不规则按钮的时候,我们选用的按钮类是 QToolButton 类 ,在这种类型的按钮上贴图的时候,图片自动居中

实现的主要代码如下

1 QPixmap pixmap(":/2.png");
2 /*用于隐藏toolbutton的边框*/
3 toolBtn->setStyleSheet("QToolButton{border:0px;}");
4 /*调整按钮大小以适应图片的尺寸*/
5 toolBtn->resize(pixmap.size());
6 toolBtn->setIconSize(pixmap.size());
7 toolBtn->setIcon(QIcon(pixmap));
8 /*通过掩码设置按钮形状以适应图片的形状*/
9 toolBtn->setMask(pixmap.mask());

就这样 不规则按钮就实现了

如果没有

1 toolBtn->setStyleSheet("QToolButton{border:0px;}");

这一句 , 图片周围可能出现黑框或虚线框

如果要去掉虚线框 , 可以将button的size 增大1到2个像素大小 , 这样就能消除黑线框 ,但是这样不是太好

原文地址:https://www.cnblogs.com/wowk/p/3203489.html