gpt4 book ai didi

c++ - 每轴网格属性(颜色),它是如何工作的?

转载 作者:搜寻专家 更新时间:2023-10-31 01:24:31 24 4
gpt4 key购买 nike

来自这个源代码:

#include "mainwindow.h"

#include <Q3DScatter>

using namespace QtDataVisualization;

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
Q3DScatter *graph = new Q3DScatter;
QWidget *widget = QWidget::createWindowContainer(graph);
setCentralWidget(widget);
}

MainWindow::~MainWindow() {}

我得到:

enter image description here

看到正前方的那堵墙,与其他墙相比,它是灰色的(我可以这样描述吗?)。我怎样才能以这种方式调整网格线?我的意思是只有一堵墙。

最佳答案

基本上,您可以使用以下代码更改网格线的颜色。

#include <QApplication>
#include <QtDataVisualization/Q3DScatter>
#include <QtDataVisualization/Q3DLight>
#include <QtDataVisualization/Q3DTheme>
#include <QDebug>
#include <QTimer>

int main(int argc, char* argv[])
{
QApplication a(argc, argv);
auto scatter = new QtDataVisualization::Q3DScatter;
auto widget=QWidget::createWindowContainer(scatter);
widget->show();
scatter->activeTheme()->setType(QtDataVisualization::Q3DTheme::ThemeQt);
scatter->activeTheme()->setGridLineColor(QColor("red"));
auto light = scatter->scene()->activeLight();
auto camera = scatter->scene()->activeCamera();
int counter = 0;
QTimer timer;
timer.start(1 / 60);
QObject::connect(&timer, &QTimer::timeout, [&]() {
camera->setXRotation(counter++/60);
});
return a.exec();
}

不过,似乎对网格线的呈现方式没有影响。我认为这是对 3D 场景的照明,当然还有相机位置的照明。

我的小示例程序旋转了场景的相机,因此网格线的照明也发生了变化。

我认为,您在这里无能为力,因为接口(interface)不允许您更改网格线的着色器代码。

关于c++ - 每轴网格属性(颜色),它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58125988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com