文章已更新,最新地址:http://www.fearlazy.com/index.php/post/134.html
Qt实现不规则按钮只需要一个函数就能搞定:setMask()
以QToolButton为例:
1.准备好一张带透明区域的图片,QToolButton将它设置为图片,并且设置大小为图片大小。

此时按钮的可见区域以及可点击区域为一个矩形。
2.设置按钮的mask为图片的mask。

大功告成,此时按钮不显示透明区域且不可点击。也就是说图片的mask就是图片的不透明区域。
题外话:
setMask的一个重载函数参数是QRegion,QRegion表示一个区域。设置的这个区域就是按钮的可见区域。

由图中可见按钮被分为了两部分,正是我们设置的区域region(由两个矩形组成)。
7538

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



