当前位置 博文首页 > fearlazy:qt轻松实现不规则按钮

    fearlazy:qt轻松实现不规则按钮

    作者:[db:作者] 时间:2021-06-18 09:09

    ?

    文章已更新,最新地址:http://www.fearlazy.com/index.php/post/134.html

    ???

    ?

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

    ????以QToolButton为例:

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

    image.png

    ????

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

    ????

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

    image.png

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

    ?

    ????题外话:

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

    image.png

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

    ?

    下一篇:没有了