问题标签 [mousearea]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
75 浏览

qt - 在 QML 中启用 FastScroll

我正在尝试在 QML 中启用快速滚动。我对如何实现这一点有了一些想法,但需要一些帮助...

正如您从下面的代码中看到的那样,我使用了 2 个列表视图:- 一个用于显示联系人,另一个用于显示快速滚动的索引..,在联系人的列表视图中,我也有一个 scrollIndicator..

main.qml包含主要代码,并且包含ContactModel.qml要在联系人中使用的listview联系人列表。

当我尝试进行快速滚动时出现问题......

矩形中的字母bigRect是从联系人中的顶部项目获取的listview...如果您在机器上尝试代码,您会遇到我面临的问题....如何根据联系人更改联系人的 listview 位置字典 listview...我在这一点上感到困惑..任何帮助将不胜感激。

---------main.qml------------------------

----------------ContactModel.qml-----------------

0 投票
1 回答
895 浏览

qml - 将 MouseArea 事件从父级传播到子级

我有一个全局MouseArea mouseAreaRoot占用整个屏幕,以防止在打开弹出窗口时对特定按钮进行操作。

QML这个 global 下方的对象中MouseArea,我有一个嵌套的MouseArea nestedMenuMouseArea 来处理我的菜单上的点击。

问题是当我点击菜单时,鼠标事件被重定向到mouseAreaRoot而不是nestedMenuMouseArea. 这是人们所期望的行为,因为全局MouseArea覆盖了整个屏幕。

我想从 mouseAreaRoot 的效果中排除nestedMenuMouseArea会阻止对其他对象的任何操作。QML

我阅读了有关propagateComposedEvents属性的信息,但它似乎只适用于从child 到 parent

我希望相反:从 mouseAreaRoot 检测到对nestedMenuMouseArea的单击并将事件分派给它以触发其onClicked代码。

0 投票
2 回答
1448 浏览

qt - QML Mousearea onReleased 未发出

我正在尝试在 QML 的矩形中使用 Mousearea。我得到 onPressed、OnCLicked、onDoubleClicked 和 onPositionChanged。

但是,QML 没有收到 onReleased 事件。你们能告诉我,为什么它不起作用?我的代码如下:

0 投票
1 回答
261 浏览

qt - 在 QML 中,将 pressAndHold 添加到已经处理按下的项目?

我想向 TabView 创建的选项卡添加一个 pressAndHold 处理程序。如果我将这样的处理程序附加到 TabView 从中生成选项卡的组件,则选项卡将不再起作用,因为按下不会到达底层选项卡。设置propagateComposedEvents 没有帮助,因为 press 不是组合事件。我尝试使用计时器滚动我自己的 pressAndHold 系统,并处理按下和释放,但这仍然会阻止按下的信号到达底层选项卡。我尝试在我的新闻处理程序中清除 mouse.accepted,但是我没有得到释放信号,因为 MouseArea 假设如果我不接受新闻,我就不会对它感兴趣。所以我很难过。

一般的问题是:您如何使用 MouseArea 监视所有鼠标信号,并可能添加行为,而不阻止它们通过它下面的任何东西?更有限的问题是:当您无权访问底层鼠标处理程序时,如何将 pressAndHold 添加到已经处理按下和/或单击但不处理 pressAndHold 的东西?

0 投票
2 回答
95 浏览

qml - 使用 MouseArea 更改 StackLayout 项

如何使用 MouseArea 更改 StackLayout 中的项目?

这个想法是,当您单击鼠标区域时,您会更改选项卡项

谢谢

0 投票
1 回答
1012 浏览

qt - QML MouseArea,触发和传播事件

我有一个带有按钮的 QML 组件,... 在里面。我放置了一个覆盖整个组件的 MouseArea,因为无论我在何处单击该组件,我都需要执行一个操作。但是,我还想执行 MouseArea 后面的操作。

例如,如果我单击组件中的按钮,我想执行 MouseArea 动作,然后执行按钮动作。

如果propagateComposedEvents: true,则不执行MouseArea onClicked,但执行Button onClicked。如果为 false,则执行 MouseArea 但不执行 Button onClicked。

我希望同时执行 MouseArea(第一个)和 Button(第二个)信号 onClicked。

0 投票
1 回答
572 浏览

qt - 如何在 QML 中的 ShapePath 上使用 MouseArea?

我目前正在学习如何使用 QML 中的 Shapes 来绘制更高级的组件。我正在尝试创建一个如下所示的按钮:

我的自定义按钮

当我尝试在 Shape 组件上应用 MouseArea 时,MouseArea 似乎无法捕获 Shape 上的事件。这是我的代码:

所以我的问题是:是否可以首先使 Shape/ShapePath 可点击?如果是,该怎么做?

0 投票
1 回答
20 浏览

qt - Qml 使用 mouseAera 获取 listElement 的文本

当我单击以将此名称与 python 函数重用时,我想获取 listElement 的名称(用 python 动态附加)。我怎样才能得到这个名字?

在此示例中,我只能获取索引 0 元素...

QML 部分:

python部分工作(仅打印元素名称)

0 投票
1 回答
312 浏览

qt - QML MouseArea:以编程方式将鼠标移动到 MouseArea 后不会触发 onExited

此问题发生在 Windows 上,但不在 Linux 上。我还没有尝试任何其他平台。

我有一个QCursor用于设置鼠标位置的自定义类(下面的代码)。

问题在于以下代码(repo):

重现问题的步骤:

  1. 将鼠标放在窗口上。光标将移动到屏幕的左上角,onExited并将触发。
  2. 释放鼠标按钮。光标会跳到窗口的中间。
  3. 将鼠标移出窗口。

onExited当用户将鼠标移出窗口时应该再次触发,但事实并非如此。有什么办法可以吗

  1. 使其着火,或
  2. 否则检测到鼠标已经移出鼠标区域?

onPositionChanged仍然会触发,但我只能使用它来检测鼠标何时靠近边缘,而MouseArea不是何时离开。

我尝试在顶部覆盖全局MouseArea并传递所有事件作为手动进行特殊情况位置检查的一种方式,但我无法通过悬停事件。


设置鼠标位置的类:

我在我的主函数中将此类注册为 QML 类型:

然后我可以将它导入 QML 并使用它。

0 投票
1 回答
76 浏览

qt - 通过拖动指针“现在几点”

我正在尝试实现一个用 Qt 编写的小型教学程序,它在我并行学习时使用 QML。

我想知道是否有可能在时钟指针的循环拖动期间获得实时。您会建议从 Qt 的“自定义表盘”开始吗?

它只是一个带有小时指针的时钟(间隔为 1 小时)。

在此处输入图像描述