自定义Qml控件:ImageButton

  • 效果
  • 实现思路

效果

我们来定义一个ImageButton控件,即Button上增加显示一个Image图片,既有Button的点击事件,也同时增加三种状态:正常状态、悬停状态、按压状态。

效果如下:

正常 <-> 悬停:

按压效果:

实现思路

  • 定义一个Rectangle内部包含一个Image,用来显示图片

    Rectangle{Image {id:bk_imageanchors.fill: parent}
    }
    

    图片填充整个Rectangle,也可以增加对Rectangle边缘的修饰,这个依个人项目而定。

  • 定义一个MouseArea用来接收鼠标事件

    接收:enteredexitedpressed三种事件,在对应的事件中改变Rectanglestate值,从而触发状态转变。

  • 定义一个states用来做状态转换时更新图片

    states的具体用法可以参考 Qml类型:State状态 一章。

    在每一个状态中我们需要改变两个东西:一个是Image图片源,另一个是Rectangle的透明度。那么每一个State需要两个PropertyChanges,形式如下:

    State {name: "normal"                 // 状态名称PropertyChanges {target: bkImage             // 目标控件IDsource: rootRect.normal_url    // 需要改变的目标控件的属性}PropertyChanges{target: rootRectopacity: noramlOpacity}
    }
    

完整实现可以微信搜索公众号:“上官宏竹”,或者扫下面的二维码,关注并回复:“ImageButton”,获取资源链接。有任何疑问也可以公众号里留言咨询。

自定义Qml控件:ImageButton相关推荐

  1. Qml控件:ComboBox

    Qml控件:ComboBox ComboBox默认状态 定制ComboBox 1.定制框架 2.定制指示器 3.定制背景 4.定制内容 5.定制弹框 6.定制弹框Item 7.弹框项的点击 8.定制删 ...

  2. Qt使用C++封装qml自定义图形控件(QQuickPaintedItem)

    C++封装qml自定义图形控件 QtWidget.qml简介 通过继承QQuickPaintedItem封装控件 描述 公用接口定义 代码示例 效果图 QtWidget.qml简介 Qt提供了2套UI ...

  3. QML自定义TextField控件

    QML中QtQuick提供的文本编辑框控件包括 TextInput,TextField,TextEdit,TextArea.Textlnput 与 TextField 为行编辑控件,TextEdit ...

  4. 自定义组合控件:下拉选择框

    Spinner 自定义组合控件之下拉选择框 项目概述 下拉选择框主要是通过在EditText 下用PopupWindow 动态显示ListView 控件来实现的.下拉选择框可以方便用户的输入效率,以此 ...

  5. android程序日历layout,Android使用GridLayout绘制自定义日历控件

    效果图 思路:就是先设置Gridlayout的行列数,然后往里面放置一定数目的自定义日历按钮控件,最后实现日历逻辑就可以了. 步骤: 第一步:自定义日历控件(初步) 第二步:实现自定义单个日期按钮控件 ...

  6. C#自定义用户控件之分页

    形形色色的分页控件很多,有些可满足我们的要求,但有些却不一定,下面是我在工作当中遇到的问题而随手写了个能满足某些功能的自定义分页控件: 控件源代码: <%@ Control Language=& ...

  7. Android 手机卫士--自定义组合控件构件布局结构

    由于设置中心条目中的布局都很类似,所以可以考虑使用自定义组合控件来简化实现 本文地址:http://www.cnblogs.com/wuyudong/p/5909043.html,转载请注明源地址. ...

  8. Android View体系(十)自定义组合控件

    相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源 ...

  9. iOS自定义View 控件自动计算size能力

    iOS自定义View 控件自动计算size能力 背景 在使用 UILabel 和 UIImage 的时候,不用指定宽高约束,控件也不会报约束缺失,还可以根据内容自己确定适合的宽高,特别适合 Xib 和 ...

  10. VS2010 自定义用户控件未出现在工具箱的解决方案

    VS2010 自定义用户控件未出现在工具箱的解决方案 参考文章: (1)VS2010 自定义用户控件未出现在工具箱的解决方案 (2)https://www.cnblogs.com/lyout/arch ...

最新文章

  1. 【热门收藏】iOS开发人员必看的精品资料(100个)——下载目录
  2. 模拟问路场景理解递归
  3. Python学习笔记一:数据类型转换
  4. c语言int val,c语言不定参数与printf函数的实现
  5. 关于mysql触发器和存储过程的理解
  6. 分布式认证需求-开放认证体系
  7. IDEA同时使用maven和gradle
  8. Markdown-数学公式语法
  9. 线性代数四之动态DP(广义矩阵加速)——Can you answer these queries III,保卫王国
  10. 【渝粤教育】国家开放大学2018年秋季 0717-21T社会保障基础 参考试题
  11. [Linux]线程安全和可重入函数
  12. 华硕服务器安装完系统起不来,w10安装后启动不起来的具体处理办法【图文】
  13. linux命令mount是什么,Linux命令——mount、umount
  14. 敏捷开发之产品级经验分享
  15. mysql数据库备份脚本
  16. Hadoop MapReduce编程 API入门系列之倒排索引(二十四)
  17. Java反编译工具汇总
  18. 谁说中国没有林纳斯,中国初代IT宗师的封神榜
  19. Android菜单不显示图标,Android系统手机让通知栏不显示某个软件的图标 | 坐倚北风...
  20. Exploratory Data Analysis可视化分析美国天气

热门文章

  1. git可视化工具小乌龟安装使用
  2. 【名单回顾】CSP-J2 2019年第二轮入门级获奖名单(仅列北京地区小学生)
  3. c语言输出最小值流程图,C语言实用程序设计100例流程图
  4. wps 字体对系统无效_wps 字体不显示怎么办 - 卡饭网
  5. 给大家推荐一套 git 工作流
  6. Parquet文件格式简介
  7. 软考中级-数据库系统工程师复习大纲
  8. 文华财经数据导出工具
  9. 修改vscode代码字体大小
  10. 学堂云3大学计算机基础答案,学堂云3答案查询公众号