问题标签 [flickable]
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 - 检测从 flickable 中的边界拖动但不显示内容到边界的间隙
我正在尝试实现如下效果:https ://www.google.com/design/spec/patterns/swipe-to-refresh.html
所以我需要信息,当用户将 flickable 的内容拖离边界时,但我不希望 flickable 显示间隙(内容和 flickable 的边框之间应该没有间隙)。
我能找到的所有示例都使用 flickable 的“contentY”属性来确定过冲。如果是负数,则可滑动边框和内容之间存在边界。
但是为了防止视觉上的差距,我设置了boundsBehavior: Flickable.StopAtBounds
,我将防止 contentY 变得消极,不允许我检测到拖动。
那么如何在 QML 中做到这一点呢?
qt - 如何预测在 QML 中捕捉 flickable 的好位置
我有一个 flickable,我想捕捉到某些位置(我以特定方式计算)。我看到两个选项:
- 在 motionEnded 我用数字动画捕捉到“contentX”的最近位置
- 在 flickEnded 我用数字动画捕捉到“contentX”的最近位置
选项 1 看起来不太好,移动停止,然后轻弹再次开始移动(捕捉位置相隔半个屏幕)。
在选项 2 中,我发现捕捉位置的选择很困难。如果用户快速移动滑动,我更愿意捕捉到接近移动结束位置的位置,但这很难预测。
这是选项 1 的示例代码:
qt - QML Flickable 问题
我需要一个由背景和移动拇指棒组成的水平控制器。它需要以下行为:
- 最初居中,拇指杆可以在背景范围内向左或向右拖动。
- 释放拖动时,拇指杆会重新居中。
- 如果触摸了背景的一部分,则拇指棒会跳到触摸位置。
- 如果触摸被释放,拇指棒会重新居中。
- 如果在触摸后进行拖动,则拇指杆将从触摸的位置拖动。
问题:
触摸时,拇指杆会根据需要跳到接触点。但是,如果在触摸之后立即进行拖动,则拇指摇杆会跳回到触摸之前的位置,然后再开始拖动。
如果将摇杆向右拖动并松开,它会根据需要立即跳回中心。如果它被拖到左边界,在它跳回中心之前会有一个延迟。
运行以下代码说明了控制器的工作和问题:
qt - 拖动视图时 QML 可滑动的打印高度/宽度
我希望能够Flickable
在拖动时打印视图的高度/宽度。我相信它可以使用onDraggingChanged
or来完成onMovingChanged
,因为类似的事件侦听onTextChanged
器负责侦听文本控件中的文本更改。我试过这个:
但是那些事件监听器只会在拖动/移动 flickable 的开始和结束时打印高度。那么我该如何实现呢?
qt - 通过在移动光标时按住鼠标按钮来禁用视图的拖动
我想在移动光标时按住鼠标按钮来禁用我的列表视图的拖动。我正在尝试使用此命令实现一些其他功能,例如多项选择。我只想启用滚动。flickable的交互属性完全禁用了视图的移动。有一些解决方法吗?
qt - 如何访问 QML ScrollView 的移动已结束?
我想在 QML ScrollView 的滚动结束时做点什么。从文档中我假设 flickableItem.onMovementEnded 是我正在寻找的,但我从来没有得到那个信号。我对“运动”的理解错了吗?我已经编写了这个最小的 QML 应用程序,并且我的 console.log 从未被调用过。我在带有 Qt 5.7 或 5.5.1 的 Mac 上运行它。
我还尝试通过“连接”连接它,但没有成功。
qt - 单击 \ 轻拂与另一个 Flickable 部分重叠的 Flickable 的空白区域
我在底部有一个可轻弹的场景“编辑器”,并停靠在其右侧,一个可轻弹的场景“大纲”在其顶部,它显示了场景结构的树。
自然,我希望能够同时轻弹两者来导航,因为它们都比可用的屏幕空间更大。
问题是大纲可轻弹只会阻止编辑器轻弹,即使我从大纲项目不占据的位置轻弹。我不希望这样,我想要的是仅当轻弹发生在大纲项目顶部时才轻弹大纲,否则我想跳到编辑器,所以我可以单击并将其从该区域轻弹到正确的。
由于工作方式,我无法做到这一点Flickable
。它会首先检查是否有拖动,并且只有当点击不超过拖动阈值时,它才会让点击向下到底层元素。所以我想不出只有在那个位置有物体的情况下才能轻弹的方法。
有什么办法可以让事件处理做我想做的事吗?