Qt中通过设置位图掩码生成异形控件【附源码】
来源:互联网 发布:网络固定电话 编辑:程序博客网 时间:2024/05/29 12:26
转载自:http://www.linuxidc.com/Linux/2013-04/83225.htm
注释:转载的这篇博客适用于不规则按钮,目标区域外的透明部分点击无作用,目标区域内的透明部分点击有效果,当然设置按钮掩码所使用的图片目标区域都是不透明的!
以下步骤是以按钮为例,其他控件类似
①在QtDesigner中拖出一个按钮或者在程序中生成一个按钮。
②加载一个用来指定按钮形状的图片:
QPixmap pixmap("images/left.png");//这里是一个左箭头
③调用此按钮的setMask()函数来设置控件掩码,参数是从pixmap中提取的位图掩码pixmap.mask():
ui->leftButton->setMask(pixmap.mask());
④注意:最好将图片的大小剪裁成和控件一样大,若图片过大会出现只使用了图片的一部分做遮掩,
若图片过小则只能遮掩控件的一部分。
⑤到此为止只是将控件的形状改变,若在控件上加上背景图或图表,会更漂亮:
ui->leftButton->setStyleSheet( "QPushButton{border-image:url(images/left.png);}" "QPushButton:hover{border-image:url(images/left2.png);}" "QPushButton:pressed{border-image:url(images/left3.png);}");
这里是通过QSS设置了按钮的常态、指针悬停、按下三个状态的背景图。
下面的实例是视频监控系统中用到的八方向云台控制的操作盘原型,每个方向都是用箭头图片做掩码后生成的异形按钮。
效果如图:
常态:
鼠标悬停:
按钮被按下
源码下载地址:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2013年资料/4月/22日/Qt中通过设置位图掩码生成异形控件
阅读全文
0 0
- Qt中通过设置位图掩码生成异形控件【附源码】
- Qt中通过设置位图掩码生成异形控件
- Qt中通过设置位图掩码生成异形控件
- QT中异形窗口的绘制
- C#WinForm中实现异形窗体/控件
- C#WinForm中实现异形窗体/控件
- C#WinForm中实现异形窗体/控件
- 位运算中生成掩码的操作
- 通过创建一个位图的XY Chart来学习Android绘图类Rect,Paint,Bitmap,Canvas(附源码)
- 通过创建一个位图的XY Chart来学习Android绘图类Rect,Paint,Bitmap,Canvas(附源码)
- QT 中控件缩放比列设置
- Qt中设置统一控件风格
- Qt中不规则异形窗口的实现几点总结
- Qt中不规则异形窗口的实现几点总结
- C语言通过umask设置默认权限掩码
- qt实现异形窗口
- qt 创建异形窗体
- Qt异形窗口
- vim配置文件
- javascript Date format(js日期格式化)
- Android 6.0权限处理
- java.util.concurrent.ConcurrentHashMap并发哈希表源码解析
- 顺时针旋转矩阵
- Qt中通过设置位图掩码生成异形控件【附源码】
- Java编程规范——重点摘要
- SPFA算法
- 在实际文件中分析h264
- linux下.a/.so/.la目标库区别
- canvas中的清空画布
- CentOS7安装zookeeper3.5.2
- ORACLE恢复删除表或表记录
- 文本的输入&输出