아래 코드에서 geometry->setLineWidth(3);
이 다른 QML 요소로 확장되어 그 다른 QML 요소가 "일반"QML 요소 (QQuickItem
하위 클래스가없는 경우에도)를 왜곡 할 수 있음을 발견했습니다. 그들). 당신이 다른 요소에 영향을 미칠 수 있다는 것이 이상하게 보입니다. 버그인지 궁금합니다. 설명서에 따르면이 함수는 현재 요소에만 영향을 주지만 내 경험은 아닙니다. 누구든지 왜 geometry->setLineWidth(3);
같은 거친 힘을 가지고 무게를 달 수 있습니까?updatePaintNode를 구현하면 다른 QML 요소도 올바르게 그려지지 않습니다.
QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data){
QSGGeometry *geometry =
new QSGGeometry(QSGGeometry::defaultAttributes_Point2D(), 2);
geometry->setDrawingMode(GL_LINES);
geometry->setLineWidth(3);
geometry->vertexDataAsPoint2D()[0].set(0, 0);
geometry->vertexDataAsPoint2D()[1].set(width(), height());
QSGFlatColorMaterial *material = new QSGFlatColorMaterial;
material->setColor(QColor(255, 0, 0));
QSGGeometryNode *node = new QSGGeometryNode;
node->setGeometry(geometry);
node->setFlag(QSGNode::OwnsGeometry);
node->setMaterial(material);
node->setFlag(QSGNode::OwnsMaterial);
delete oldNode;
return node;
}
geometry->setLineWidth(3);
줄을 생략하면 문제가 해결됩니다.
이것은 실제로 https://bugreports.qt-project.org/secure/Dashboard.jspa에서 훨씬 빨리 (말장난) 답변을 얻을 수 있습니다! – mlvljr