问题标签 [qtquick2]

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 投票
5 回答
14100 浏览

qt - QML - 跟踪组件的全局位置

我想跟踪一个对象的全局位置(或相对于它的一个祖先)并将其绑定到其他项目的位置。

我正在考虑使用mapFromItem如下:

这种方法的问题是mapFromItem被评估一次并且不会随着其中一个参数的更新而更新。此外,映射有时会返回由我无法在代码中跟踪的偏移量更改的新位置(但这不是手头的问题)。

我的第二个想法是通过实现一个函数来计算全局位置,该函数将递归地求和偏移量,在提供的祖先处停止(类似于calculateOffsetFrom(ancestor))。仍然这只是一个函数,就我而言,它不会随着祖先位置的变化而重新评估(除非在该函数中,我会将调用它绑定到onXChanged每个一路上的祖先,这似乎是一个肮脏的解决方案)。

所以最后我为我打算跟踪的对象添加了属性,然后绑定到它们:

但是好吧......是的......这个根本没有规模,而且很丑陋。

有谁知道如何以更清洁的方式解决这个问题?

编辑: 就我而言,在这种情况下我不能使用锚。该SomeObject组件是一个自定义组件,从一个点到另一个点绘制一条贝塞尔曲线(它将连接两个TrackedObjects)。为此,我需要坐标之间的差异。如果我是正确的,锚不提供任何计算它们之间距离的方法。

0 投票
2 回答
1796 浏览

qml - 何时使用 Qt Quick 2 中的哪些类以及如何使用?

我正在尝试使用 Qt 5.1 和 Qt Quick 2 编写游戏,它是新的(更快的)图形引擎。我已经阅读了几个小时的文档,但如果我想在屏幕上移动位置由 C++ 代码确定的项目,我仍然无法弄清楚要使用哪些类。

在 QGraphics 中很简单:我创建了一个 QGraphicsScene 的实例,将 QGraphicsItem 的任何继承者添加到它,然后创建一个 QGraphicsView 的实例,它是一个 Widget 并显示所有项目及其更改。我将 QGraphicsItem 连接到信号以进行更改。

在 Qt Quick 2 中,我首先阅读了

在阅读了许多教程文档后,我仍然不知道“默认”解决方案是什么。每个教程都展示了不同的东西。我对所有的例子和课程感到不知所措。

  • 有人可以给我一个基于 Qt Quick 2 的基本示例,并且画布上的图像通过从 C++ 编写的常规 QObjects 发送的信号移动吗?
  • 你能帮我对我提到的所有课程进行分类吗?我什么时候用?
0 投票
1 回答
2414 浏览

qml - Qt Quick 2 场景图是否与 EGLFS 上的 vsync 同步?

我正在研究 Qt 5.1 中的 Qt Quick 2。很酷。但是,我不了解场景图功能。如果我只是创建 Flickable,将一堆图像放入其中,并在带有 EGLFS 后端的嵌入式设备上的 QQuickView 中显示 - 我是否使用场景图?

如果是,为什么我看到撕裂 - 场景图应该是垂直同步的?

如果不是 - 我应该怎么做才能将它与 Flickable 一起使用?或者这是否意味着我应该从头开始实施?

我的应用程序基本上允许浏览无穷无尽的生成图像。

0 投票
2 回答
5344 浏览

qt - QML - MouseArea - 传播 onPositionChanged

是否可以将 's positionChanged 事件传播MouseArea到底层事件?

我尝试将 to 设置mouse.acceptedfalse最顶层的任何现有信号处理程序,并将 toMouseArea设置propagateComposedEventstrue. 这些都不起作用(尽管我对不起作用并不感到惊讶,propagateComposedEvents因为文档说它只传递事件,如clicked,doubleClickedpressAndHold)。

0 投票
0 回答
157 浏览

facebook-graph-api - Facebook 桌面应用中的 OAuth 实现设计

我对如何从 Facebook 实现 access_token 检索感到困惑。这就是我的想法:

  1. 一个 OAuthorizer 类,负责 OAuth 身份验证。它会启动一个 WebView 窗口,该窗口将要求用户对我的应用程序进行身份验证。成功认证后,此类将存储并提供 Facebook 提供的短期用户 access_token。此类的 authorize() 方法必须启动 QML 窗口,因此涉及一些 UI 代码。
  2. TokenService 类包含根据短期用户 access_token 检索不同类型的 access_token 的方法——如长期用户 access_token、page_token 等)这将是一个纯 C++ 类,无需处理任何 QML 组件。

这是代码的粗略草图。请注意,它可能在语法上不正确——我是即时写的。

我感觉不好的部分是 OAuthorizer 类。它不可避免地包含与 UI 相关的代码,以便启动 QML 窗口。这是一个好主意/设计吗?

所以我认为这个设计有很大的缺陷。我会欢迎一个全新的,如果更好的设计以及对此的改进。

0 投票
2 回答
414 浏览

qtquick2 - db.changeVersion 没有按预期工作

我正在尝试为 Ubuntu Touch 升级应用程序中的数据库。我使用 QtQuick.LocalStorage 2.0。

当我调用 db.changeVersion 时,它可以工作,但 db.version 在应用重新启动之前不会改变。

如何在不重新启动应用程序的情况下拥有新的 db.version?

0 投票
1 回答
2159 浏览

javascript - 将元素添加到带有动画的中继器

我有一个中继器,它的元素在创建时是动画的。

如果我在前一个元素的动画完成后向模型添加一个元素,那么一切正常。但是如果我之前添加一个元素,它就不起作用了。例如,如果我有一把能射出子弹的枪,如果我等到子弹动画结束,一切正常。但是如果我想在第一个结束之前再射一颗子弹,第一个消失,我只看到第二个的动画。

我应该怎么做才能看到所有的动画?

0 投票
1 回答
2019 浏览

qt - 根据 QtQuick 2.0 中的属性查找 ListModel 的特定元素

我有ListModel一个 objectId 角色(整数和唯一)。我想查询模型以查找具有特定 objectId 的元素的其他属性。我怎样才能做到这一点?

0 投票
4 回答
15700 浏览

qt - 如何使用 QML 在父 MouseArea 中包含子鼠标悬停事件?

我想在 QML 中实现以下场景。

设想


这是ListView元素的示例/简化委托:

但我有一个问题MouseArea
内部(actionButton)对于事件MouseArea不能正常工作。entered当鼠标进入动作按钮时,外部MouseArea触发exited事件。

我的代码有什么错误吗?更一般地说,我如何在 QML 中实现这样的场景?

0 投票
1 回答
761 浏览

qt - QML - 寻址祖先

我有一个容器,它在运行时被动态创建的组件填充。这些元素中的每一个(我们称它们为DynamicObjects)都有一个子元素树(Nodes),也是动态创建的。更重要的是,Node组件可以相互嵌套(如树结构)。

让容器将id参数设置为"main_container"并且每个容器都将DynamicObject其设置为"dynamic_object"

每当我尝试main_container从任何嵌套Node元素中解决问题时,它都可以正常工作。问题是当我尝试dynamic_object从根以外的任何Node其他人(那个是 的直接后代/孩子dynamic_object)中解决时。结果是:

ReferenceError:动态对象未定义

我的问题是:这种行为背后的原因可能是什么?它与这些对象是动态创建的事实有关吗?(这是我的第一个想法,因为我总是可以解决它,main_container并且它是在 qml 代码中静态声明的)。

代码示例:(如果有任何遗漏,请在评论中告诉我)