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

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

以QToolButton为例:

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

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

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

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

题外话:

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

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

qt轻松实现不规则按钮相关推荐

  1. qt不规则按钮样式在自适应分辨率时应该注意的图片缩放模式

    提要 qt设置不规则按钮的样式,并要求不规则按钮能够适应不同的分辨率,分为同比例的分辨率,如16:9,也可以为不同比例的的分辨率,如之前为16:9,同时适应16:5的分辨率.在设置不规则按钮时背景图片 ...

  2. Qt实现不规则按钮之自绘圆盘式按钮

    一.简述 在上一篇文章中我们讲述了如何实现不规则按钮( Qt简述如何实现不规则按钮),其中提到了另外一种方法就是自绘,今天就此谈一谈如何自绘实现一个圆盘式的按钮.下面先看一张效果图. 二.代码之路 其 ...

  3. 通过检测png图片透明区实现不规则按钮

    来源:http://blog.csdn.net/enin_dqc/archive/2010/09/09/5874327.aspx 常见的按钮或窗体都是四四方方的矩形,默认创建产生的window窗体都是 ...

  4. ugui unity 取消选择_UGUI中几种不规则按钮的实现方式

    前言 UGUI中的按钮默认是矩形的,若要实现非矩形按钮该怎么做呢?比如这样的按钮: 本文将介绍两种实现方式供大家选择. 使用alphaHitTestMinimumThreshold Image类的al ...

  5. cocos2d-x中实现不规则按钮的点击效果

    cocos2d-x中实现不规则按钮的点击效果 先说一点,这是从别人那里扒来的,亲测有效觉得不错,分享一下: 原理很简单,就是判断按钮图片的点击区域 像素点透明度是不是0,需要修改源代码: 我拿coco ...

  6. Qt中如何给按钮加图标(背景图片)

    Qt中如何给按钮加图标(背景图片) 1. Qt Designer中拖入一Tool Button 2. 选择图标的图片放入工程目录下,如放在Resources内 3. 双击工程的Resource Fil ...

  7. 随笔:Qt变色图像三态按钮

    //! //! 随笔:Qt变色图像三态按钮 //! //! == 控件简介 == //! 本次提供继承QWidget的按钮控件,提供显示图片功能, //! 可根据图片透明度设置前景色和后景色,可添加边 ...

  8. qt使用样式表来设置不规则按钮

    参考代码如下: pixmap.load(":/new/prefix1/淳中切图/未选中-3.png");pixmap = pixmap.scaled(QSize(125 / m_p ...

  9. (QT)qss与按钮

    一.qss 1.qss相关概念 QT QSS(Qt Style Sheets)文件是一种基于CSS的样式表语言,用于定义QT应用程序的外观和风格.它可以用于控制应用程序中的各种界面元素的外观和行为,如 ...

  10. 【Qt】QMainWindow最大化按钮是灰色(不能最大化)的解决方法

    解决方法 设置最大尺寸为16777215,并且使能Qt::WindowMaximizeButtonHint(默认就是使能的,不执行也可以) const QSize MAIN_SIZE_MAX = QS ...

最新文章

  1. android 获取网卡mac_防亚马逊账号关联黑科技--如何修改我们的网卡MAC到底重要不?...
  2. Linux多线程同步的几种方式
  3. mysql高性能学习笔记03_MySQL高性能学习笔记
  4. NetGear 夜鹰 RAX40V2 设备与固件分析
  5. Java中Volatile的理解
  6. 夜间模式html,夜间模式.html
  7. 红橙Darren视频笔记 ViewGroup事件分发分析 基于API27
  8. jQuery页面滚动 动态加载图片等元素
  9. java tcp通信需要学吗_从c#通过tcp与java服务器通信
  10. java ssh 项目心得_ssh实训总结(共10篇).docx
  11. ReentrantLock深入学习
  12. 深度学习图像识别笔记(二):红外图像
  13. 辞退了一位简历造假的程序员,简历美化可以,造假不可取!
  14. 用友云实名认证,了解一下
  15. 在Linux系统中搭建web服务器
  16. Oracle OMF参数
  17. 基于Springboot社区居民健康档案管理系统 毕业设计-附源码220940
  18. android时间错误的是什么意思啊,android – 困惑为什么会发生这些错误,以及它们的意思?...
  19. 如何进行网站的稳定性测试《转载》
  20. sparse_to_dense()和sparse_tensor_to_dense()的用法

热门文章

  1. 字美杯装饮料茶点打印机
  2. 又一大的技术站点域名被ClientHold了
  3. html 设置td最小宽度,如何设置td标签的宽度和高度
  4. 打出“人工智能+物流”牌,旷视就能重拾资本信任?
  5. jawbone app for android,jawbone手环app
  6. 乐动手环app下载安装_乐动健康下载app_新版本手机乐动健康手环软件下载安装 安卓版 V2.08 - 罐头安卓网...
  7. 百度智能手环方案开源(含源码,原理图,APP,通信协议等)
  8. 【计算机网络】集线器、网桥、交换机、路由器、网关大解析
  9. C语言实验:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。
  10. CarSim仿真快速入门(七)—车辆参数化建模