在实际需求中,Qt自带的控件显得十分“原始”,因此,想要做出更加好看的样式,常常需要用到自定义控件。下面是一个自定义的带图标的按钮控件,实现方式十分简单。

效果图

环境

ubuntu16.04 + Qt5.7.1

代码部分

这里主要自定义写了一个控件,方便复用。文件IconButton.qml代码如下:

import QtQuick 2.7//不同Qt版本使用的QtQuick版本可能不同,需修改Rectangle {//自定义属性property string btMesg: ""//按钮按下时发出的字符串property string btText: ""//按钮文字property color  textColor: "#ff000000"property string pressedTextColor: textColorproperty string releaseTextColor: textColorproperty real   fontSize: 20property string buttonColor: "#00000000"property string pressedColor: buttonColorproperty string releaseColor: buttonColorproperty string btIcon: ""property string pressedIcon: btIconproperty string releaseIcon: btIconproperty string borderColor: textColorproperty string pressdBorderColor: pressedTextColorproperty alias wrapMode: textId.wrapModeproperty alias elide: textId.elidewidth: 80; height: 60color: mouseArea.pressed?pressedColor:releaseColorborder.width: 0border.color: mouseArea.pressed?pressdBorderColor:borderColorfocus : truesignal clicked()signal clickedWithMesg(string mesg)signal pressed()signal release()Image {id: imageanchors.horizontalCenter: parent.horizontalCenteranchors.top: parent.topanchors.topMargin: (parent.height - height - textId.height - 5) / 2source: mouseArea.pressed?pressedIcon:releaseIcon}Text {id: textIdanchors.top: image.bottomanchors.horizontalCenter: parent.horizontalCenterhorizontalAlignment: Text.AlignHCenterwrapMode: Text.WordWrapwidth: parent.widthtext: btTextcolor: mouseArea.pressed?pressedTextColor:releaseTextColorfont.pixelSize: fontSize}MouseArea{id : mouseAreahoverEnabled: trueanchors.fill: parentonClicked: {parent.clicked()parent.clickedWithMesg(btMesg)}onPressed: {parent.pressed(btMesg)}onReleased: {parent.release()}}
}

实现其实十分简单明了,即在pressed时改变按钮颜色而released时则恢复按钮颜色,便可以出现点击效果。

代码链接

https://download.csdn.net/download/zefinng/11133899

qml自定义控件:简易的带图标按钮相关推荐

  1. html复制按钮easyui,简化的EasyUI带图标按钮

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. a.l-btn span.l-btn-left{ display:inline-block ...

  2. html css 带图标按钮,Bootstrap带图标的按钮样式

    这是一款基于bootstrap的带图标的按钮样式.这组按钮在bootstrap按钮的基础上,通过附加的HTML元素来构建小图标,并通过CSS3来制作鼠标hover动画效果. 使用方法 在页面中引入bo ...

  3. WPF自定义带图标按钮

    控件: <Button Cursor="Hand" x:Name="btn_Return" Click="btn_Return_Click&qu ...

  4. Html+css怎样实现纯文字和带图标的按钮

    Html+css怎样实现纯文字和带图标的按钮 Html+css怎样实现纯文字和带图标的按钮,Html+css实现纯文字和带图标的按钮的注意事项有哪些,下面就是实战案例,一起来看一下. 本文总结一下一些 ...

  5. html前端小知识:制作简单的纯文字图标按钮

    今天分享下"html前端小知识:制作简单的纯文字图标按钮"这篇文章,文中根据实例编码详细介绍,或许对大家的编程之路有着一定的参考空间与使用价值,需要的朋友接下来跟着云南仟龙Mark ...

  6. Android UI之ImageButton(带图标的按钮)

    除了Android系统自带的Button按钮一万,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首先要在布局文件中定义ImageButton,然后通过setImageDrawable ...

  7. android 按钮带图标 阴影_android中带图标的按钮(ImageButton)怎么用

    展开全部 除了Android系统自带的Button按钮以外,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首先要在布局62616964757a686964616fe58685e5ae ...

  8. 【传】玩转Android---UI篇---ImageButton(带图标的按钮)

    原文网址:http://hualang.iteye.com/blog/964049 除了Android系统自带的Button按钮一万,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首 ...

  9. bootstrap带图标的按钮与图标做连接

    bootstrap通过引入bootstrap的JS与css文件,给元素添加class属性即可. 使用图标只需要加入一个span,class属性设置为对应的图标属性即可.图标对应的class属性可以参考 ...

  10. 带图标和按钮切换特效的垂直导航菜单的html页面源码

    大家好,今天给大家介绍一款,带图标的垂直导航菜单的html页面源码(图1).送给大家哦,获取方式在本文末尾. 图1 点击每个按钮时,都有切换特效,并显示按钮的说明,看起来非常不错(图2) 图2 代码完 ...

最新文章

  1. AndroidWear开发之开发环境[前奏]
  2. win10触摸板手势
  3. 大数据时代下的迁移学习_继深度学习后,下一个热点技术是迁移学习
  4. 多路RTSP-RTMP转RTMP定制版
  5. 查看mysql错误日志定位mysql错误
  6. Vmware下安装CentOS6的特别注意,一定要在虚拟机上电时候按DEL,选择操作系统启动方式...
  7. OCIEnvCreate 失败,返回代码为 -1的解决方法
  8. 你的性格是什么颜色的?乐嘉《性格色彩学》测试题
  9. 三个线程顺序执行依次输出123123123.....
  10. 我有一个梦想(I have a dream)
  11. 介绍一个使用go写的TUI性能监测工具gotop
  12. Oracle配置本地网络服务名
  13. 怎么查看笔记本内存条型号_怎么查看笔记本内存条型号?2种查看笔记本内存型号方法...
  14. stl文件转stp (二次开发)
  15. php5渗透,ThinkPHP的一些渗透方式
  16. 视频监控系统 摄像头与网络存储服务器兼容,网络视频监控系统技术要点
  17. 组播IP 映射 组播MAC
  18. 【软考软件评测师】2014综合知识历年真题
  19. PHP的bz2压缩扩展工具
  20. 计算机多用户访问控制软件,Win10权限管理与多用户远程登录(多方案)

热门文章

  1. ApacheCN 翻译活动进度公告 2019.5.17
  2. ERP软件厂商薪资情况披露
  3. 冒险岛手游服务器维护界面,冒险岛手游10月28日全平台更新维护公告
  4. st7789 旋转_ST7789V彩屏驱动及显示代码
  5. 如何在DOS系统下删除隐藏的文件
  6. 模拟CMOS集成电路设计 学习笔记(三)
  7. Android系统基础(03) Android系统源码下载
  8. 省份城市 mysql_省份城市数据库 mysql
  9. 北大青鸟python学费_北大青鸟学费贵吗,北大青鸟学费标准_北大青鸟综合校区为您解答...
  10. 服务器硬盘scsi 最大容量,解读SCSI硬盘