DropArea 不会通知有关 onEntered、onExited、onDropped 的操作

2024-03-26

I have Rectangle洋溢着MouseArea其中上onPressAndHold()处理程序透露第二个Rectangle和转账drag对此采取行动Rectangle。问题是当我移动那一秒时Rectangle over DropArea它不会通知任何操作(onEntered, onExited, onDropped)。我尝试过多种组合,但从未成功。这是一个例子,我错过了什么吗?

import QtQuick 2.0
import QtQuick.Window 2.0

Window {
    id: appDrawerRoot
    visible: true
    width: 360; height: 360
    property bool isRectVisible: false

    Rectangle{
        id:rect
        color: "blue"
        x:50; y:50
        width: 50; height: 50

        MouseArea{
            anchors.fill: parent

            onPressed: {
                cloneRect.x = rect.x
                cloneRect.y = rect.y
            }
            onPressAndHold: {
                isRectVisible = true
                drag.target = cloneRect
            }
            onReleased: {
                drag.target = undefined
                isRectVisible = false
                cloneRect.x = rect.x
                cloneRect.y = rect.y +100
            }
        }
    }

    Item{
        id: cloneRect
        width: 50; height:50
        visible: isRectVisible

        MouseArea{
            id: mouseArea
            width:50; height:50
            anchors.centerIn: parent

            Rectangle{
                id:tile
                width: 50; height:50
                color:"black"
                opacity: 0.5
                anchors.verticalCenter: parent.verticalCenter
                anchors.horizontalCenter: parent.horizontalCenter
                Drag.hotSpot.x: 25
                Drag.hotSpot.y: 25
            }
        }
    }

    DropArea {
        id:dropArea
        x:153
        y:158
        z:-1
        width:100; height: 100

        Rectangle{
            anchors.fill: parent
            color: "Green"
        }
        onEntered: {
            drag.source.opacity = 1
            console.log("ENTERED")
        }
        onExited: {
            drag.source.opacity = 0.5
            console.log("EXITED")
        }
        onDropped:
        {
            console.log("DROPPED")
        }
    }
}

您的代码的主要问题是您没有设置active阻力的属性。像这样修改你的代码:

//..........................
Item{
    id: cloneRect
    width: 50; height:50
    visible: isRectVisible

    Drag.active: visible // Add this line of code
//.....................

有关更多信息,请参阅 Qt 示例。在 Qt Creator 的“欢迎”屏幕上,点击“示例”按钮并搜索“拖放 qml”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DropArea 不会通知有关 onEntered、onExited、onDropped 的操作 的相关文章

  • 在运行时拖动窗体上的控件

    我刚刚开始使用 WPF 但我正在尝试添加我的代码 来自 Winforms 使用户能够在运行时将任何控件拖动到他们想要的任何位置 但我似乎无法获取鼠标当前的位置 呃 没有鼠标位置 在 Mouse 事件中 您可以使用 e GetPosition
  • 删除行时 QModelIndex 变得无效

    我正在子类化QAbstractItemModel显示项目QTreeView 并且在这个子类中 projectModel 我有一个功能可以删除树视图中当前选定的索引 Component是用于表示模型所有成员的类 void projectMod
  • 如何使小部件溢出以使滚动条出现在 Qt 中?

    我的小部件的结构是 QWidget 定制为带有圆角边框的面板 要在边界内包含一个带有滚动条并带有边距的区域 然后我将其放入其中 QScrollArea 与 QVBoxLayout 垂直添加内容 然后我在其中添加一系列 标题间距为 0 的 Q
  • 从 Qt 中的半透明小部件中擦除绘制区域

    我面临着必须擦除 Qt 小部件上先前绘制的区域的问题 基本思想是 用户通过单击并拖动鼠标来选择屏幕的一个区域 并在所选区域上绘制一个矩形 标题 class ClearBack public QWidget Q OBJECT public e
  • 无法锚定到不是父级或同级 QML QtQuick 的项目

    我正在使用 QML 开发 python 桌面应用程序 我的 QML 文件中有这个 SplitView anchors fill parent orientation Qt Horizontal Rectangle color 272822
  • Qml 中的 FileDialog 在发布中不起作用

    我正在与以下项目合作Qt Quick Control 2 当我尝试在调试模式下运行软件时 FileDialog qml 可以完美打开 但是当我将其部署为发布模式时 它无法工作 这是我的代码 import QtQuick 2 4 import
  • 是否可以在切换 QTreeWidgetItem 复选框时创建信号?

    我使用下面的代码创建了一个也是 QTreeWidgetItem 的复选框 Populate list QTreeWidgetItem program createCheckedTreeItem QString fromStdString i
  • 无法将 QMap 传递到 SLOT

    所以 这有效 h public slots void addMenu QString passedName signals void clicked const QString text cpp signalMapper new QSign
  • 无法隐藏 QMenu 对象 QMenu::setVisible()?

    我已经建立了一个QMenu MainMenu在我的上面MainWindow在我的应用程序中 大家都习惯了 我有以下QMenu主菜单 文件 编辑 SuperHeavyExpertMenus 设置 帮助 我想隐藏子树SuperHeaverExp
  • Java 拖放图像并在拖动时显示图像缩略图

    我有一个带有图像节点的网格布局 我想在我的应用程序中添加 dnd 功能 例如 当我将图像节点拖放到目标 JPanel 时 进行一些操作 例如以原始大小显示 删除等 我已经实现了这与一种使用 Transferhandler 的方法和一种使用
  • 什么时候应该首选 Loader 而不是 createQmlObject,反之亦然 - QML?

    两者都可以动态创建对象 什么时候应该Loader优先于Qt createQmlObjectQML 中反之亦然吗 The Loader可以被视为特定对象的占位符 它还使您能够通过Loader s id Qt createQmlObject通常
  • 关于 GUI 计时器显示后台线程已用时间的建议?

    Issue 我有一个 PyQt GUI 用户按下按钮即可启动后台线程 workerThread 它是从QThread 我想要一个计时器显示 以QLabel 显示自此以来已经过去了多少时间workerThread开始 我希望这个计时器在wor
  • 如何设置 Xcode 来代替 Qt Creator 工作?

    我不使用 Qt Creator 的 UI 设计功能 对于一个新项目 我想体验一下使用 Xcode 的工作 这将是一个常规的 Qt 项目 使用 C 和 Qt 库开发 就像在 Qt Creator 中一样 我没有使用 OS X 尤其是 Xcod
  • 异步设计中如何知道哪个QNetworkReply属于QNetworkRequest?

    我可以轻松地用 C 进行异步设计 HttpResponseMessage response await httpClient GetAsync InputAddress Text run when request finished And
  • 将项目添加到自定义组件的布局

    我有一个习惯Footer Component我想在 QML 应用程序的不同位置重用它 Rectangle color gold height 50 anchors bottom parent bottom left parent left
  • 如何在Qt中设置编译器?

    我对 Qt 完全陌生 我下载了离线版本 Qt 5 3 2 for Windows 64 bit VS 2013 OpenGL 573 MB 我无法编译我的项目 I have Qt Creator 3 2 1 开源 基于Qt 5 3 2 MS
  • Qt + win32 + mingw 上的原生 Windows API 链接问题

    我正在尝试使用 mingw 工具集将本机 Windows API 与 Qt 结合使用 部分功能存在链接问题 会发生什么 这是 mingw 名称修改的错误吗 ifdef Q WS WIN HWND hwnd QWidget winId HDC
  • android中如何实现列表之间的拖放?

    我试图做到这一点 以便用户可以从一个列表视图中拖动文本视图 然后将其放入另一个列表视图中 但我发现这非常困难 到目前为止我发现的最大问题是 onTouchEvents 似乎只能在 ACTION DOWN 事件起源的视图中听到 我将单击一个列
  • 我的 QSqlQueryModel 不在列表视图中显示数据

    我正在玩 QSqlQueryModel 但我现在完全陷入困境 我一整天都在寻找解决方案 但到目前为止还没有运气 我所做的工作是它从我的 sqlite 数据库中提取数据 但由于某种原因我无法在列表视图中显示它 我的角色名似乎不存在 对于我从数
  • QT 中的应用程序->处理消息?

    在 Borland 6 中 我经常使用它来解除程序操作的卡住 Application gt Processmessages 现在 对于 QT 4 8 1 我在这个外国 对我来说 QT 文档中找不到 谁能帮我 在 Qt 中 您可以使用静态函数

随机推荐

  • jQuery tablesorter 如何找到 sortList 对象

    我正在使用 jQuery 表排序器插件 我想存储用户如何对页面上的表格进行排序 并在下次加载页面时自动按这种方式排序 为此 我首先需要能够找到存储表排序方式的 sortList 对象 对于我的一生 我不知道如何获得它 该文档似乎没有任何相关
  • 尝试让一个对象查看 Unity 中的另一个对象

    嗨 我一直在尝试让对象 Tower 查看对象 Enemy 但是我收到错误 非静态字段 方法或属性 Enemy position 需要对象引用 这是敌人的类 我试图在其中定义敌人的位置以供塔参考 有谁知道如何解决这个问题 谢谢 public
  • 将 SpellCheck.IsEnabled 添加到控件后,WPF 表单加载速度非常慢

    所以我有一个神秘的问题 在我添加之后SpellCheck IsEnabled对于我的其中一个控件 承载该控件的表单需要 3 秒以上的时间才能加载 删除拼写检查属性 表单会立即加载 仅供参考 以下是表格中唯一更改的地方
  • 在 Python 3.5 而不是 2.7 上运行 Django 1.9

    我在 OSX 10 10 上运行 Python 2 7 和 3 5 还有 Django 1 9a 这两个版本都支持 Python 问题是我想在 Python 3 5 而不是 2 7 上运行 Django 在某些线程上 我发现了通过包含 Py
  • 生成传出 URL 时选择了意外的路由

    请考虑以下路线 routes MapRoute route1 controller month year action user routes MapRoute route2 controller month year action 以及以
  • ColdFusion 8中是否有类似于ColdFusion 9中的ArrayFind的功能?

    我在工作中与另一位程序员同事交谈 我们使用 ColdFusion 他告诉我只需在数组中查找一个值我必须执行整个循环 ColdFusion 8 中是否真的没有函数可以简单地在数组中查找值 arrayFind ColdFusion 8 中不存在
  • 从 mongoDB 中删除文档

    这可能是一个非常愚蠢的问题 但我是 MongoDB 的新手 所以请耐心等待 我创建了一个独立的红宝石类 require rubygems require mongo require bson require mongo mapper Mon
  • 如何计算Java中的时差?

    我想从 19 00 00 减去两个时间段 例如 16 00 00 Java 有没有这个功能 结果可以以毫秒 秒或分钟为单位 Java 8 有一个更清洁的解决方案 https docs oracle com javase 8 docs api
  • 从 std::cout 或 std::ofstream(file) 获取 std::ostream

    我如何绑定std ostream到任一std cout或到一个std ofstream对象 取决于特定的程序条件 尽管由于多种原因这无效 但我希望实现语义上与以下内容等效的东西 std ostream out condition std c
  • 我什么时候应该使用 LRUCache 回收位图?

    我正在使用一个LRUCache缓存存储在文件系统上的位图 我根据这里的示例构建了缓存 http developer android com training displaying bitmaps cache bitmap html http
  • 在 Tkinter 中处理触摸屏手势

    我将如何在 Tkinter 中安装触摸屏手势处理程序 我需要一些特别简单的事情 每当检测到 展开 手势时就增加字体大小 如果 Tcl Tk 没有具体实现的话 这是否可以在 Tkinter 中实现 我想要么窗口管理器向客户端窗口发送一些我可以
  • 如果更改来源不是来自 html,则不会触发 Javascript 事件?

    我试图理解为什么以下示例中的更改事件没有被触发 我将准确显示在哪里 我有一个复选框 我们将其称为 主复选框 选中时 我想检查一些其他相关的复选框 到目前为止有效 此外 当我取消选中相关复选框之一 子复选框 时 我想取消选中 mainChec
  • Android 中流畅的视频擦除

    我正在尝试使用 Android 实现流畅的视频擦除VideoView The seekTo的方法MediaPlayer没有完全按照我想要的方式做 它并不完全寻求我在其中传递的毫秒 它实际上从 跳转到最近的位置 而不是我想要的确切位置 框架也
  • 如何按顺序循环 GET/POST 调用(等待上一个)返回?

    我正在为网页编写 Tampermonkey 脚本 并尝试从其他页面提取数据 我正在尝试创建一个内部有一个循环遍历列表的函数 llcList 并从 ajax 方法 GET 检索数据 但希望等待第一个请求完成后再转到第二个请求 如果我能让它多等
  • 如何找出 Android 中的 GMT 偏移值

    如何找出用户的 GMT 值 例如印度为 05 30 如何在 Android 中计算 05 30 值 我需要这个 因为我在我的应用程序中使用一个java库 它有一个带有这个 05 30字段的函数 我想通过计算生成这个字段 这样我就不必填写国家
  • Visual Studio 2008 中无法识别的标记前缀或设备筛选器

    我有一组 Web 控件 位于网站引用的程序集中 我可以毫无问题地构建和运行所有内容 但是当我查看正在使用控件的 aspx 页面时 我会在标签前缀下方看到一条绿色下划线
  • 删除字符串中多余的空格

    我想使用 VB net 删除多余的空格 ex The Quick Brown Fox 我要输出 The Quick Brown Fox 谢谢 英奇卡 您可以使用一个简单的正则表达式来实现 Dim cleaned As String Rege
  • 如何从传递到 scalatags 的事件处理程序访问“this”元素?

    我正在尝试访问当前的文本 this 元素来自使用 scalatags 创建的事件处理程序 这是我尝试过的 val onChange e HTMLElement gt number e textContent toInt js ThisFun
  • Rails/ActiveRecord 按月+年分组并计数

    我有一张桌子Albums有一个date列名为release date 我想获得所有月份 年份组合的列表以及该月份 年份发行的专辑数量 因此 输出可能类似于 2016 年 11 月 11 2016 年 10 月 4 2016 年 7 月 19
  • DropArea 不会通知有关 onEntered、onExited、onDropped 的操作

    I have Rectangle洋溢着MouseArea其中上onPressAndHold 处理程序透露第二个Rectangle和转账drag对此采取行动Rectangle 问题是当我移动那一秒时Rectangle over DropAre