qt轻松实现不规则按钮

    Qt实现不规则按钮只需要一个函数就能搞定:setMask()

    以QToolButton为例:

    1.准备好一张带透明区域的图片,QToolButton将它设置为图片,并且设置大小为图片大小。

image.png

    

此时按钮的可见区域以及可点击区域为一个矩形。

    

  2.设置按钮的mask为图片的mask。

image.png

    大功告成,此时按钮不显示透明区域且不可点击。也就是说图片的mask就是图片的不透明区域。 


    题外话:

    setMask的一个重载函数参数是QRegion,QRegion表示一个区域。设置的这个区域就是按钮的可见区域。

image.png

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


    测试环境:Qt5.9.6

演示站
上一篇:如何查询出一个字段不重复的记录?
下一篇:记网站由http改为https的几个步骤

发表评论