- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道 Window
是否有一些子元素。是否有可能获得哪个 child 在其 MouseArea
的当前 x 和 y 下?
最佳答案
解决这个问题的策略是使用方法mapToGlobal()
将鼠标获取的坐标转换为全局坐标,然后使用方法mapFromGlobal()
来将这些全局坐标转换为每个 Item 的局部坐标,最后使用 contains()
来验证该点是否在 Item 内部。要获得 child ,您必须使用 children()
方法。
Window {
id: window
visible: true
width: 640
height: 480
function itemsFromGlobalPosition(root, globalPos){
var items = []
for(var i in root.children){
var children = root.children[i]
var localpos = children.mapFromGlobal(globalPos.x, globalPos.y)
if(children.contains(localpos)){
items.push(children)
}
items = items.concat(itemsFromGlobalPosition(children, globalPos))
}
return items;
}
MouseArea{
id: ma
anchors.fill: parent
onClicked: {
var results = itemsFromGlobalPosition(window.contentItem, ma.mapToGlobal(mouseX, mouseY))
console.log("results: ", results)
}
}
...
}
关于qt - 是否可以在QML中获取mouseX,mouseY下的任何子组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52107412/
我正在使用 AmCharts 制作随时间推移付款的图表。 我的 AmCharts 配置看起来正确。 另请注意,我不是 Javascript 专家。 使用 AmCharts 3.18.3.free 完整
我创建了一个带有小点的 Blob 。我希望我的 Blob 根据 mouseX 和 mouseY 在其表面显示噪音。我希望它在鼠标所在的象限中显示出高噪声。我想要它是波浪形的。下面是我的代码。 var
我有一个图像网格,这些图像被添加到一个类中的图像容器(Sprite)中。当我点击一个按钮时,图像容器被补间(缩放)到 0.2现在我想开始拖动图像。在鼠标按下时我添加一个 enterFrame 事件:
我确信这非常简单而且我很接近(大概)。我正在尝试根据鼠标的 X 位置在 10 个 div 之间切换(一次只显示一个)。 目前我已经将鼠标的 X 位置转换为一个百分比,并将其用作一个变量来根据光标的距离
我在 Flash Develop 中创建应该的非常简单的全屏拖放游戏。除了在一个令人沮丧的情况下,它工作正常。 我将项目添加到舞台,向它们添加 MOUSE_DOWN 监听器,并在听到该监听器时开始拖动
我正在使用 AmCharts 进行股票相关事件。我的控制台窗口中出现以下奇怪的错误。 Uncaught TypeError: Cannot read property 'mouseX' of unde
这是我的代码: const canv = document.getElementById('canvas'); const ctxt = canv.getContext('2d'); const w
我记得很久以前看到过一个函数完全可以做到这一点,但现在我需要它,但找不到它。本质上,我试图创建一个函数,根据 0 到 1920 之间的 mouseX 位置返回 -10 到 10 之间的数字。该数字可以
我是一名优秀的程序员,十分优秀!