- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个项目的快照(通过 ShaderEffectSource
和 live: false
),但我有时(200 个案例中有 1 个)得到一个空白快照。我正在根据这样的信号制作快照:
Image {
onStatusChanged: {
if (status == Image.Ready) {
snapshotter.makeSnapshot();
}
}
}
这只是作为一个整体上下文。我现在不会发布测试用例,因为它是一个很大的应用程序,而且我还没有隔离测试用例。这可能对 future 的问题很重要。
所以我还没有问“我的代码中的错误在哪里”。相反,我有一个简单的问题,我认为它可以帮助我修复错误:
Item 完成重绘后我能收到通知吗?
理由:也许当我得到 status == Image.Ready
, 图像只是加载 并且还没有将加载的数据绘制到离屏表面。因此,如果我想要的信号存在,我可以连接到它,而不是连接到Image.statusChanged
。 .
注意:我可以实现自己的 NotifyingImage
类似 Image
的组件但另外公开了一个 repainted
信号。但我想知道是否有内置方法。
相关问题:“Get notified when QQuickItem will need updating”。但是询问者对知道项目 data 何时更新感到满意,我问的是 repainted
。信号,这是比他要求的晚发生的事情。
最佳答案
据我所知,Window
始终作为一个整体呈现。所以你可以使用 Window
的 afterRendering
信号。
缺点:只要窗口中的任何内容发生变化,它就会被触发。但结合 (status == Image.Ready)
它可能适合你。
编辑:
在 blog post, announcing the release of Qt5.8
Qt Companies CTO 写道:
In addition, the scene graph now supports partial updates to the screen if only a small area of the scenography changed. This brings some larger performance improvements to the Qt Quick 2D renderer.
我不知道信号 afterRendering
的实现细节,所以我无法判断这是否是在这样的部分更新 之后触发的,如果是,又是如何触发的告诉您,该部分更新是否涉及您感兴趣的那部分。
关于qt - 当项目完成重绘时,我会收到通知吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43479213/
我是一名优秀的程序员,十分优秀!