核心思想是:

在main中引入QMainWindow对象,将qml文件作为该对象的widget,并将该对象注册到qml中,然后再qml中通过识别鼠标的位移来更改这个mainwindow的pos属性。

实现:#include

#include

#include

#include

int main(int argc, char *argv[])

{

QApplication app(argc, argv);

QMainWindow window;

QDeclarativeView* v = new QDeclarativeView;

window.setCentralWidget(v);

v->setSource(QUrl::fromLocalFile(("draw_rectangles.qml")));

// expose window object to QML

v->rootContext()->setContextProperty("mainwindow",&window);

window.setStyleSheet("background:transparent;");

window.setAttribute(Qt::WA_TranslucentBackground);

window.setWindowFlags(Qt::FramelessWindowHint);

window.show();

app.exec();

}

qml:Item {

Rectangle {

color: "blue"

x: 50; y: 50; width: 100; height: 100

MouseArea {

id: mouseRegion

anchors.fill: parent;

property variant clickPos: "1,1"

onPressed: {

clickPos = Qt.point(mouse.x,mouse.y)

}

onPositionChanged: {

var delta = Qt.point(mouse.x-clickPos.x, mouse.y-clickPos.y)

mainwindow.pos = Qt.point(mainwindow.pos.x+delta.x,

mainwindow.pos.y+delta.y)

}

} //mousearea

} //rectangle

}

转载:http://blog.csdn.net/sgnh123456/article/details/8055654

qml鼠标拖动_qml实现窗口的拖拽效果相关推荐

  1. Javascript实现拖拽效果

    我们执行拖拽操作时, 1.按住某元素 2.移动鼠标 3.移动鼠标到相应位置后松开鼠标 基于以上操作,页面拖拽效果需要三个事件 onmousedown onmousemove onmouseup 在on ...

  2. JQuery Dialog(JS模态窗口,可拖拽的DIV)

    JQuery Dialog(JS模态窗口,可拖拽的DIV) 吴剑 2012-08-08 原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/ 效果图 调用示意图 ...

  3. MFC中窗口实现拖拽文件功能

    MFC窗口拖拽文件功能指的是用鼠标将文件拖拽入窗口后,在窗口中可以获取拖拽文件的绝对路径,如图1所示. 图1 文件拖拽功能 实现窗口的拖拽文件功能,首先要将窗口注册为放置拖拽文件的目标,之后在窗口中响 ...

  4. JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)

    转自<JS实现漂亮的窗口拖拽效果(可改变大小.最大化.最小化.关闭)>:http://www.jb51.net/article/73157.htm 这篇文章主要介绍了JS实现漂亮的窗口拖拽 ...

  5. js实现弹出窗口的拖拽功能

    弹出窗口的拖拽 拖拽功能运用到的有 onmousedown 事件,onmousemove 事件以及 onmouseup 事件 弹出窗口基本步骤: 1.点击点击弹出窗口按钮弹出窗口: 2.窗口弹出后,鼠 ...

  6. 原生JS实现鼠标按下拖拽效果

    原生JS实现鼠标按下拖拽效果 <!DOCTYPE html> <html lang="en"><head><meta charset=&q ...

  7. DOM 案例——(美团外卖下拉框菜单、半透明——信息滑入、模态窗口拖拽效果、放大镜效果、滚动条滑到一定位置的固定导航栏、12306购票网站多级联动、斗鱼TV无规则弹幕特效、百度搜索条动态输入下拉瀑布)

    目录 1.缓动动画--美团外卖下拉框菜单 2.半透明--信息滑入 3.模态窗口拖拽效果 4.放大镜效果 5.滚动条滑到一定位置的固定导航栏 6.12306购票网站多级联动 7.斗鱼TV无规则弹幕特效 ...

  8. html实现鼠标拖拽按钮,JS实现鼠标按下拖拽效果

    原生js实现鼠标按下拖拽效果,供大家参考,具体内容如下 鼠标拖动 body { margin: 0; } div { width: 200px; height: 200px; position: ab ...

  9. 【加强版】js原生实现拖拽效果,这次没有用document的mousedown、mousemove、mouseup事件我们来点实际的(但是有个弊端:拖拽过程中鼠标会变成一个禁用符号,不太友好)

    <div class='dragged'></div> //初始化需要拖拽的列initDrags() {var arr = document.querySelectorAll( ...

最新文章

  1. The system cannot find the file specified
  2. NYOJ 108士兵杀敌(一)
  3. 使用Yeoman定制前端脚手架
  4. java 去掉大量if else_java如何消除太多的if else判断?
  5. luogu4407 [JSOI2009]电子字典 字符串hash + hash表
  6. 洛杉矶手机资费9.9美元包打一年
  7. Golang bytes.Buffer 用法精述
  8. 23种设计模式-装饰模式
  9. oracle not in 改为 not exist
  10. 08 Django组件-Forms组件
  11. Nagios 分布式
  12. golang 格式“占位符”%d,%f,%s等应用类型
  13. C# Datatable的Select方法
  14. 一键查看MTALAB支持的字体
  15. tolua unity 报错_关于LUA+Unity开发_toLua篇【二】
  16. 微信小程序网络请求服务器php接口获取数据库数据信息
  17. HTTP状态码 1xx,2xx,3xx,4xx 意思
  18. Pyhon 登陆邮箱
  19. python lncrna_【云计算】LncRNA生信分析案例
  20. 如何快速搭建一个微服务架构

热门文章

  1. 计算机窗口标题栏控制菜单图标,职称计算机考试资料(八)
  2. 52单片机继电器c语言程序,STC89C52单片机温控继电器代码
  3. 企业实施应用ERP系统项目心得
  4. 熊掌号php页面改造,本站Emlog熊掌号页面改造记录
  5. 三星和“毒苹果” 好一对“欢喜冤家”
  6. 入职外包一个月,我离职了。
  7. Revit中柱与梁不能连接问题和“柱断墙梁”功能介绍
  8. 图像变换——向前映射和向后映射
  9. SAP UI5 应用开发教程之五十九 - 如何在 SAP UI5 应用里显示世界地图试读版
  10. CiteSpace安装教程