• 3454阅读
  • 4回复

自定义按钮求助 [复制链接]

上一主题 下一主题
离线hyh0lh
 

只看楼主 倒序阅读 楼主  发表于: 2015-07-02
我要做一个按钮,形状不是规整的圆形或者方块。比方说三角形。按钮是继承qpushbutton,我想让这个按钮的边界就是这个三角形框。也就是说我在里面定义void enterEvent(QEvent *e)时,触发这个事件应该在三角形按钮区域,而不是在外面。谁能帮帮我,应该怎么做。
离线stlcours

只看该作者 1楼 发表于: 2015-07-02
那就算三角形在这个QWidget的坐标范围,落在里面才触发~
离线咬蚊嚼渍

只看该作者 2楼 发表于: 2015-07-02
楼上说的对,可以自己继承qpushbutton,点击时计算鼠标所在的区域,只有在这个三角形区域内的才触发clicked事件就好~~
我也只能想到这个方法
离线gnibuoz

只看该作者 3楼 发表于: 2015-07-03
setmask函数
我就是我,颜色不一样的烟火...
离线hyh0lh

只看该作者 4楼 发表于: 2015-07-06
解决了。用的三楼说的方法。
将按钮的外形图片定义成一个QPixmap tp,然后使用按钮的setMask()函数就ok了:
(QPushButton *)btn->setMask(tp.mask());
快速回复
限100 字节
 
上一个 下一个