问题标签 [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.
qt - 在 QML 中启用 FastScroll
我正在尝试在 QML 中启用快速滚动。我对如何实现这一点有了一些想法,但需要一些帮助...
正如您从下面的代码中看到的那样,我使用了 2 个列表视图:- 一个用于显示联系人,另一个用于显示快速滚动的索引..,在联系人的列表视图中,我也有一个 scrollIndicator..
main.qml
包含主要代码,并且包含ContactModel.qml
要在联系人中使用的listview
联系人列表。
当我尝试进行快速滚动时出现问题......
矩形中的字母bigRect
是从联系人中的顶部项目获取的listview
...如果您在机器上尝试代码,您会遇到我面临的问题....如何根据联系人更改联系人的 listview
位置字典 listview
...我在这一点上感到困惑..任何帮助将不胜感激。
---------main.qml------------------------
----------------ContactModel.qml-----------------
qml - 将 MouseArea 事件从父级传播到子级
我有一个全局MouseArea
mouseAreaRoot占用整个屏幕,以防止在打开弹出窗口时对特定按钮进行操作。
在QML
这个 global 下方的对象中MouseArea
,我有一个嵌套的MouseArea
nestedMenuMouseArea 来处理我的菜单上的点击。
问题是当我点击菜单时,鼠标事件被重定向到mouseAreaRoot
而不是nestedMenuMouseArea
. 这是人们所期望的行为,因为全局MouseArea
覆盖了整个屏幕。
我想从 mouseAreaRoot 的效果中排除nestedMenuMouseArea,这会阻止对其他对象的任何操作。QML
我阅读了有关propagateComposedEvents属性的信息,但它似乎只适用于从child 到 parent。
我希望相反:从 mouseAreaRoot 检测到对nestedMenuMouseArea的单击并将事件分派给它以触发其onClicked
代码。
qt - QML Mousearea onReleased 未发出
我正在尝试在 QML 的矩形中使用 Mousearea。我得到 onPressed、OnCLicked、onDoubleClicked 和 onPositionChanged。
但是,QML 没有收到 onReleased 事件。你们能告诉我,为什么它不起作用?我的代码如下:
qt - 在 QML 中,将 pressAndHold 添加到已经处理按下的项目?
我想向 TabView 创建的选项卡添加一个 pressAndHold 处理程序。如果我将这样的处理程序附加到 TabView 从中生成选项卡的组件,则选项卡将不再起作用,因为按下不会到达底层选项卡。设置propagateComposedEvents 没有帮助,因为 press 不是组合事件。我尝试使用计时器滚动我自己的 pressAndHold 系统,并处理按下和释放,但这仍然会阻止按下的信号到达底层选项卡。我尝试在我的新闻处理程序中清除 mouse.accepted,但是我没有得到释放信号,因为 MouseArea 假设如果我不接受新闻,我就不会对它感兴趣。所以我很难过。
一般的问题是:您如何使用 MouseArea 监视所有鼠标信号,并可能添加行为,而不阻止它们通过它下面的任何东西?更有限的问题是:当您无权访问底层鼠标处理程序时,如何将 pressAndHold 添加到已经处理按下和/或单击但不处理 pressAndHold 的东西?
qml - 使用 MouseArea 更改 StackLayout 项
如何使用 MouseArea 更改 StackLayout 中的项目?
这个想法是,当您单击鼠标区域时,您会更改选项卡项
谢谢
qt - QML MouseArea,触发和传播事件
我有一个带有按钮的 QML 组件,... 在里面。我放置了一个覆盖整个组件的 MouseArea,因为无论我在何处单击该组件,我都需要执行一个操作。但是,我还想执行 MouseArea 后面的操作。
例如,如果我单击组件中的按钮,我想执行 MouseArea 动作,然后执行按钮动作。
如果propagateComposedEvents: true,则不执行MouseArea onClicked,但执行Button onClicked。如果为 false,则执行 MouseArea 但不执行 Button onClicked。
我希望同时执行 MouseArea(第一个)和 Button(第二个)信号 onClicked。
qt - 如何在 QML 中的 ShapePath 上使用 MouseArea?
我目前正在学习如何使用 QML 中的 Shapes 来绘制更高级的组件。我正在尝试创建一个如下所示的按钮:
当我尝试在 Shape 组件上应用 MouseArea 时,MouseArea 似乎无法捕获 Shape 上的事件。这是我的代码:
所以我的问题是:是否可以首先使 Shape/ShapePath 可点击?如果是,该怎么做?
qt - Qml 使用 mouseAera 获取 listElement 的文本
当我单击以将此名称与 python 函数重用时,我想获取 listElement 的名称(用 python 动态附加)。我怎样才能得到这个名字?
在此示例中,我只能获取索引 0 元素...
QML 部分:
python部分工作(仅打印元素名称)
qt - QML MouseArea:以编程方式将鼠标移动到 MouseArea 后不会触发 onExited
此问题发生在 Windows 上,但不在 Linux 上。我还没有尝试任何其他平台。
我有一个QCursor
用于设置鼠标位置的自定义类(下面的代码)。
问题在于以下代码(repo):
重现问题的步骤:
- 将鼠标放在窗口上。光标将移动到屏幕的左上角,
onExited
并将触发。 - 释放鼠标按钮。光标会跳到窗口的中间。
- 将鼠标移出窗口。
onExited
当用户将鼠标移出窗口时应该再次触发,但事实并非如此。有什么办法可以吗
- 使其着火,或
- 否则检测到鼠标已经移出鼠标区域?
onPositionChanged
仍然会触发,但我只能使用它来检测鼠标何时靠近边缘,而MouseArea
不是何时离开。
我尝试在顶部覆盖全局MouseArea
并传递所有事件作为手动进行特殊情况位置检查的一种方式,但我无法通过悬停事件。
设置鼠标位置的类:
我在我的主函数中将此类注册为 QML 类型:
然后我可以将它导入 QML 并使用它。
qt - 通过拖动指针“现在几点”
我正在尝试实现一个用 Qt 编写的小型教学程序,它在我并行学习时使用 QML。
我想知道是否有可能在时钟指针的循环拖动期间获得实时。您会建议从 Qt 的“自定义表盘”开始吗?
它只是一个带有小时指针的时钟(间隔为 1 小时)。