问题标签 [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.
qml - 如何在 ScrollView 和 Flow 中使用 MouseArea
我确实想使用 MouseArea 在 ScrollView 中显示 Flow 中的可点击按钮。这种结构的原因是对象是从用户动态创建的,所以我想将它们放在 Flow 中以确保垂直放置,并在 ScrollView 中以确保在变成多个对象时滚动。
这是在 js 函数中创建对象的方式:
请注意,ID 'scrollableFlow' 是 ScrollView 中的 ID,您可以直观地看到它有效。对象在以前彼此不认识的情况下按顺序垂直放置。
包含非工作 MouseArea 的 QML 对象:
我找到了一些推荐属性“preventStealing”的答案,但在这种情况下似乎没有效果。我还尝试删除 Flow,这似乎也没有什么不同。它在常规项目中的 ScrollView 之外确实有效,这让我认为 ScrollView 窃取了其中的所有 MouseEvents。ScrollView 可根据需要滚动并以所需大小显示。
我错过了什么?谢谢您的帮助。
qt - MouseArea 调用 FileDialog :知道哪个元素打开了 FileDialog (QML)
自从我的代码上一个问题以来,我遇到了一个新问题。不幸的是,这并不是一个真正的实现问题,而更像是一个“概念”问题。
那么让我们来介绍一下这个案例。我有一个充满按钮的网格,然后为了处理他们的onClicked
事件,我有一个ButtonGroup
这些是在循环中生成的,所以不用担心,我没有写所有 40 个按钮 ^^ 所以这是我的ButtonGroup
正如您可能已经看到的,我有一个CustomButton
用于两个原因的元素:
- 美学(定制设计、圆角等...)
- 为每个按钮添加一个 MouseArea 和 onRightclick,显示一个菜单元素
所以这是我的 CustomButton 元素代码的简化版本:
我真的不知道mouseArea
为每个元素生成 a 的效率,所以如果您有更好的方法来onRightclick
为 20 或 30 个元素提供独立选项,请告诉我。
我的问题如下。在页面上,假设实现 CustomButton 的 main.qml,我有两个 fileDialog 项目:一个被调用confOpen
,另一个被调用firmwareOpen
,正如您在上面的代码中所期望的那样。当用户使用右键单击时,MenuItem 显示在鼠标的确切位置,他可以选择他想要的任何选项。然后调用其中一个confOpen
或firmwareOpen
并且用户能够选择一个文件。
所以这是真正的问题,我想将文件路径存储到我的 CustomButton 的属性中。我有一个property string optionalConf
为了这样做。但是我无法管理哪个按钮调用了 FileDialog,所以我不知道哪个按钮应该optionalConf
更新他的属性。
我希望我已经很清楚了,并且不需要很长时间才能阅读,但我想清楚而准确。如果您有更好的方法来做我正在做的事情,请告诉我,我一直在听取建议:)
qt - 为鼠标悬停使 SplitView 手柄更宽
从 qml 自定义 SplitView 示例中,我们可以看到句柄是 Rectangle,implicitWidth 4
在我的宠物项目中,我将其设置为 2,但现在很难调整 SplitView 的大小,因为鼠标悬停区域太紧。我不想让它本身变大,但只想增加鼠标悬停区域。我尝试了一些,但没有成功。可能吗?
qt - 防止 MouseArea 捕捉子矩形内的点击
我有一个全屏地图,在其上添加了一个鼠标区域:
矩形偶尔会变得可见,在infoPanel
地图上覆盖一些信息,以及触发特定操作的按钮。
现在我已将鼠标区域添加到地图中,以便在单击地图时隐藏信息面板,效果很好。
但是,当单击信息面板本身的矩形时,信息面板也会被关闭。
如何防止地图上的鼠标区域干扰内部的任何东西infoPanel
?