首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用QQuickItem上的更新

如何禁用QQuickItem上的更新
EN

Stack Overflow用户
提问于 2017-09-07 11:58:56
回答 1查看 437关注 0票数 0

我有一个QQuickItem派生类

代码语言:javascript
复制
// Class
class MyQQuickItem : public QQuickItem {
  Q_OBJECT
}

// updatePaintNode in cpp function
QSGNode * MyQQuickItem::updatePaintNode(QSGNode * oldNode, UpdatePaintNodeData * updatePaintNodeData) {

  // draw UI logic
  return node;
}

// QML component
MyQQuickItem {
  id: my_quick
  objectName: "myquickitem"
  width : 500
  height : 500
}

我正在一个单独的UI上做一些事情,这会导致updatePaintNode of MyQQuickItem被触发。如果我在cpp端有指向MyQQuickItem的指针,

代码语言:javascript
复制
QQuickItem * my_quick_item_ptr = m_qml_engine->rootObjects()[0]->findChild<QQuickItem*>("myquickitem");

当我不想让MyQQuickItem**'s updatePaintNode被调用时,如何阻止它被调用?**

第二个问题:如果是,如何再恢复它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-07 12:16:42

如果和何时调用updatePaintNode()是最有可能的,扫描内部的东西,这不是真正的打算被修改。

也许试着做些不那么有侵略性的事情,比如:

代码语言:javascript
复制
QSGNode * MyQQuickItem::updatePaintNode(QSGNode * oldNode, UpdatePaintNodeData * updatePaintNodeData) {
  if (doNotUpdate) return oldNode; 
  // draw UI logic
  return node;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46095768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档