问题标签 [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.

0 投票
2 回答
2107 浏览

qt - 如何使 Flickable 确保其中项目的可见性?

我有一个Flickable包含大量TextField对象的列,每个 TextField 都锚定在前一个 TextField 的底部。一切工作正常,除了当我使用 tab 键浏览这些字段时,最终焦点转到可见矩形之外的 TextField,Flickable然后用户在手动向下滚动 Flickable 之前看不到光标.

本质上,我正在寻找某种“.ensureVisible()”方法,这样当 TextField 收到焦点时,Flickable 会自动滚动,以便刚刚聚焦的 TextField 完全可见。

0 投票
0 回答
1012 浏览

qt - Qt/QML:升级后在触摸屏上点击时,Flickable 中的 MouseArea 没有发出释放/单击的信号

从 Qt 5.4.1 升级到 5.9.1 后,以下代码在使用触摸屏时改变了行为:

以前使用 Qt 5.4.1 并使用鼠标或触摸屏单击它打印的 Rectangle:

当前使用 Qt 5.9.1 并使用鼠标单击矩形时仍然可以正常工作:

但是使用 Qt 5.9.1 并使用触摸屏单击 Rectangle 它只打印

不知道为什么使用触摸屏时不再发出释放和单击的信号,但对于我的代码,我仍然需要发出它们。

如果我改变

然后 mouseArea 在单击时发出所有 3 个信号,但这对我来说不是一个解决方案,因为这会导致在轻弹时从 mousearea 发出按下的信号。

0 投票
1 回答
499 浏览

image - qml 可滑动画布加载内容不会调整大小且无法滑动

我有Flickable一个孩子CanvasImage。我正在单击按钮将图像加载到source中。Image这一切都有效。问题是 flickable 不会将其尺寸刷新为图像的尺寸,因此整个图像是“flickable”的,我可以滚动它(它比可视窗口大)。但是,如果我调整窗口大小,它会刷新,然后我可以在图像周围轻弹。

我猜这是因为正在重绘窗口,并且 qml 正在重新读取img.widthimg.height值以重绘Flickable.

(仅供参考,如果我在启动应用程序时加载图像,Flickable 按预期工作,只有当我在单击按钮时加载图像,一旦应用程序运行,窗口需要重绘(或调整大小)才能Flickable工作正如预期的那样

0 投票
1 回答
510 浏览

qt - 从右到左轻弹

当我在其中添加一个子项时将Flickable其锚定在整个控件的左侧,但我希望flickable将子项锚定在整个控件的右侧(我认为当 flickable 内部有任何内容时,它的 flickableItemimplicitWidth 会影响整个控件的宽度,这就是为什么我不能使用anchors.right = parent.right),在 flickable 中没有layoutDirection属性Flickable并且LayoutMirroring不工作,我如何强制 Flickable 从其身体的右边距绘制孩子?
这是我的轻弹控件:

我像这样使用它:

Qml 不在乎width : parent.widthScrollableItem如果我在控件内设置宽度,它不会轻弹,我也尝试在孩子中使用 anchors.right,但没有用。有没有办法强迫可轻弹的孩子从屏幕右侧流出?

更新:让我给你看一张照片 在此处输入图像描述

你看到窗格锚定在哪里了吗?将窗格锚定到右侧是不可能的,并且没有布局方向,窗格的宽度取决于子宽度,这是一个 rowLayout,因此如果窗格宽度低于可滑动宽度,它将始终绘制在我想要绘制的可滑动的左边缘flickable 的右边缘

0 投票
1 回答
618 浏览

qt - QML FlickArea 中心内容

我正在尝试在 QML 的 Flickable 中制作 PDF 查看器。为此,我使用 Poppler 库将我的 PDFPages 呈现为图像。当我缩放时,我会重新缩放图像的大小,导致内容的高度和宽度发生变化。

我的问题是,当我缩小到图像宽度小于 Flickable 宽度的点时,图像被推到左边。同样,如果我翻转方向并且图像的高度变得小于 FlickArea 高度,则图像被锁定在顶部。有什么好的方法可以让 FlickArea 窗口中的图像居中吗?

为了使这个例子更简单,我用一个矩形替换了我的 PDF 图像。

矩形卡在左上角的图像

0 投票
1 回答
362 浏览

qt - QML:防止快速回到触摸事件的边界以进行轻弹

我正在 QML 中构建捏合和缩放功能。出于性能原因, pinchArea 是 flickable 项目的子项。

下面的代码设置了如果用户在操作后双击图像,图像会重新居中并且比例重置为 1。

不受欢迎的行为是:可滑动项目的一个特性是,如果用户在图像缩放/移动后点击屏幕中的某个位置,该项目会重新居中。我不希望在点击屏幕后图像自行重新定位,而是想通过双击来控制行为

我可以半解决这个问题的一种方法是使用鼠标区域,但是当可滑动项目移动时,鼠标区域会移动,并且在鼠标区域之外单击会使项目重新居中。关于如何修改鼠标区域以防止此操作或关闭轻按可轻按项目的行为并在捏合和缩放后将其自身居中的任何想法?

感谢您的帮助/建议!

0 投票
2 回答
757 浏览

qt - Qt Quick QML Flickable 禁用轻弹并仅启用滚动

Flickable在一列中有两个,当用户滚动第二个 Flickable 时,我想垂直滚动第一个 Flickable。

我可以通过使用onFlickEnded事件来做到这一点,这是正确的方法吗?当用户单击并拖动并使用鼠标滚轮仅具有滚动效果时,如何禁用轻弹效果?

我应该改用 ScrollView,但我不能像使用 Flickable 那样滚动它。

0 投票
0 回答
29 浏览

qt - 创建在末尾重新开始的 Flickable 和列表视图

你好,如何创建像 (0-1-2-3...8-9-0-1-2) 这样的循环一样在末尾重新开始的列表视图..................................................... ..................................................... ..................................................... .....................................

0 投票
1 回答
43 浏览

qml - 可滑动滚动条出现故障

我在 flickable 中创建了一个 TextArea,当我添加很多换行符时,该区域会按预期滚动。但是,尽管当我输入的行数超过可用高度时会出现滚动条,但如果我尝试拖动滚动条,它会重置为全彩色(没有可拖动的内容)并且通常行为不端。

我的滚动条有什么问题?

0 投票
1 回答
38 浏览

qt - 如何使用锚在 Flickable 中垂直间隔 QML 对象?

如何使用锚在 Flickable 中垂直间隔 QML 对象?

代码片段(在此消息的下方重现)应该显示由 C++ 模型提供的文本和图像(C++ 对象在此片段中被命名为 Global)。

我收到一条错误消息:

你明白我想要做什么:我希望图像的顶部比其上方文本的底部低 8 个像素。

我收到一条错误消息,尽管它似乎正在工作。

请你告诉我,我怎样才能正确地做到这一点?