QML控件拖动并靠边停留
前言
用QML做控件拖动,当鼠标按下要拖动的按钮然后移动鼠标,控件坐标会随着鼠标而移动,释放鼠标后判断当前的控件位置,然后选择要停留在父窗口的左边还是右边,再通过动画将控件移动到边上。这种场景在做工具栏悬浮按钮的时候比较常见。
正文
实现方式很简单,通过Drag类来实现,并且参考了Qt帮助文档中的示例。
直接上代码吧
import QtQuick 2.6Item {id:rootwidth: 500; height: 400Rectangle {id:rectx: 10; y: 10width: 50; height: 50color: "red"NumberAnimation on x{id:aniduration: 400easing.type: Easing.OutCubic}Drag.active: dragArea.drag.activeMouseArea {id: dragAreaanchors.fill: parentdrag.target: parentdrag.maximumY:root.height-rect.heightdrag.minimumY: 0onPositionChanged: {console.log("x",mouseX,"y",mouseY,rect.x,rect.y)}onReleased: {if(rect.x > root.width/2.){ani.to = root.width - rect.widthani.start()}else{ani.to = 0ani.start()}}}}}
来看看效果图
QML控件拖动并靠边停留相关推荐
- Qt quick基础2(包含平移旋转放缩以及qml控件大写开头啊)
Qt quick基础2(包含平移旋转放缩以及qml控件大写开头啊) 目录 Qt quick基础2(包含平移旋转放缩以及qml控件大写开头啊) 前言 简单的平移.旋转和放缩 其他元素的一些基本使用 qm ...
- C# wpf 实现Canvas内控件拖动
系列文章目录 第一章 Grid内控件拖动 第二章 Canvas内控件拖动(本章) 第三章 任意控件拖动 第四章 窗口拖动 第五章 附加属性实现任意拖动 文章目录 系列文章目录 前言 一.如何实现? 1 ...
- C# wpf 实现Grid内控件拖动
系列文章目录 第一章 Grid内控件拖动(本章) 第二章 Canvas内控件拖动 第三章 任意控件拖动 第四章 窗口拖动 第五章 附加属性实现任意拖动 文章目录 系列文章目录 前言 一.如何实现? 1 ...
- Qml控件:ComboBox
Qml控件:ComboBox ComboBox默认状态 定制ComboBox 1.定制框架 2.定制指示器 3.定制背景 4.定制内容 5.定制弹框 6.定制弹框Item 7.弹框项的点击 8.定制删 ...
- [转载]WPF控件拖动
这篇博文总结下WPF中的拖动,文章内容主要包括: 1.拖动窗口 2.拖动控件 Using Visual Studio 2.1thumb控件 2.2Drag.Drop(不连续,没有中间动画) 2.3拖动 ...
- android 父控件的背景_android控件拖动,移动、解决父布局重绘时控件回到原点
/** * * @description 设置意见反馈,用以灰度发布 * @author zhongwr * @params * @update 2016年1月12日 下午5:36:07 */ pri ...
- android控件拖动,移动、解决父布局重绘时控件回到原点
最近公司做小游戏开发,写倒计时加进度条 拖动问题private boolean isIntercept = false; /** 按下时的位置控件相对屏幕左上角的位置X */ private int ...
- Winform控件拖动
给要实现拖动的控件添加如下的 MouseDown 和 MouseMove 事件即可. private Point startPoint; private void MouseDown(object s ...
- Qml控件之Calendar日历
Calendar(日历)控件是基于Qml实现的,它兼容于QtQuick 1.x和QtQuick 2.x.可用于显示日期信息. 1. 演示 2. 例子 import QtQuick 2.0 // Qt4 ...
最新文章
- JAVA基础——编程练习(一)
- ajax怎么设置好友,好友按ajax新消息通知
- 深度学习:知识回收(Lecture1and2)
- 关于用notepad++确认代码中\r\n\t空格等不显示的字符
- ecshop 标签使用 非常好的例子
- Doc2Bow简介与实践Demo
- [导入][导入][c#]Web开发中Tag的开发技巧
- 电脑显示器不亮主机正常_电脑主机已开机 显示屏却不亮(看完秒懂)
- 作者:黄玲玲(1982-),女,博士,安徽省公共交通安全科学研究院副研究员。...
- 枚举数据类型 c# 114866833
- Nginx代理连接Redis失败
- 各种编程语言,Linux命令行播放,Bio-Linux,Markdown编辑器等
- inode及硬链接和软链接
- python 计算时间、日期差值类
- mysql下载备份数据库命令行_MYSQL 数据库导入导出命令 | 很文博客
- hdu5336XYZ and Drops
- 购物是女人的天堂,男人的地狱,不了解清楚万一以后被坑了,男人躲哪里后悔去,做这样一个web购物网站,买了货死活回不来,让双十一的女人们过过瘾
- 计算机中文档的后退键,后退快捷键ctrl加什么
- histogram函数 python_Python numpy.histogram函数方法的使用
- 基于PHP+MySQL的美容会所企业资产管理系统