python - PySide2 Qt 表面示例
问题描述
我想在 PySide2 中重新实现 Qt C++“ Surface ”示例(Q3DSurface),但QSurfaceDataArray
不可QSurfaceDataRow
用。
void SurfaceGraph::fillSqrtSinProxy()
{
float stepX = (sampleMax - sampleMin) / float(sampleCountX - 1);
float stepZ = (sampleMax - sampleMin) / float(sampleCountZ - 1);
QSurfaceDataArray *dataArray = new QSurfaceDataArray;
dataArray->reserve(sampleCountZ);
for (int i = 0 ; i < sampleCountZ ; i++) {
QSurfaceDataRow *newRow = new QSurfaceDataRow(sampleCountX);
// Keep values within range bounds, since just adding step can cause minor drift due
// to the rounding errors.
float z = qMin(sampleMax, (i * stepZ + sampleMin));
int index = 0;
for (int j = 0; j < sampleCountX; j++) {
float x = qMin(sampleMax, (j * stepX + sampleMin));
float R = qSqrt(z * z + x * x) + 0.01f;
float y = (qSin(R) / R + 0.24f) * 1.61f;
(*newRow)[index++].setPosition(QVector3D(x, y, z));
}
*dataArray << newRow;
}
m_sqrtSinProxy->resetArray(dataArray);
}
有没有办法QVector<QSurfaceDataItem>
在 PySide2 中使用 a ?
from PySide2.QtDataVisualization import QtDataVisualization as QDV
data_item = QDV.QSurfaceDataItem()
data_item.setPosition(QVector3D(x, y, z))
可用,QSurfaceDataItem
但我不能将对象传递给QSurfaceDataProxy
没有QVector
.
解决方案
推荐阅读
- flutter - 填充后如何跳转到下一个 TextFormField?
- vector - 什么情况下最好使用向量?在 C++ 中?
- node.js - Elasticsearch 429 Too Many Requests _bulk 与同步请求
- fluent-bit - Fluent Bit Tail Input 仅读取每个日志文件的前几行,直到再次重新启动
- java - 如何使用 CompletableFuture 的 supplyAsync 每次运行具有多个输入的相同方法?
- python-3.x - 如何设置 Visual Studio 代码?
- database - 不显示朋友的消息。onBindViewHolder 中的 ReceiverViewHolder 存在问题
- python - 如何在matplotlib图上锁定标签的位置
- javascript - 检查是否为空字符串或空字符串并使用条件运算符分配不同的值?在打字稿中
- sql - Google Query 功能过滤方式不正确(按 desc 排序)