知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。
文章目录
- `A.h`
- `A.cpp`
- Ref.
直接先把效果放出来,有需要就往下看。

A.h
 
// A.h
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_A.h"
#include <vtkSTLReader.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkSmartPointer.h>
#include <vtkGenericOpenGLRenderWindow.h>
class A : public QMainWindow
{
    Q_OBJECT
public:
    A(QWidget* parent = nullptr);
    ~A();
private:
    Ui::AClass ui;
    void initVTK();
};
A.cpp
 
// A.cpp
#include "A.h"
A::A(QWidget* parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    // 配置 VTK 的初始设置
    initVTK();
}
A::~A()
{
}
void A::initVTK()
{
    // 读取 STL 文件
    vtkSmartPointer<vtkSTLReader> reader = vtkSmartPointer<vtkSTLReader>::New();
    reader->SetFileName("skull_50.stl"); // 请替换为你的 STL 文件路径
    reader->Update();
    // 创建映射器和演员
    vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
    mapper->SetInputConnection(reader->GetOutputPort());
    vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
    actor->SetMapper(mapper);
    // 创建渲染器
    vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
    // 添加演员到渲染器
    renderer->AddActor(actor);
    // 创建渲染窗口和渲染窗口交互器
    vtkSmartPointer<vtkGenericOpenGLRenderWindow> renderWindow = vtkSmartPointer<vtkGenericOpenGLRenderWindow>::New();
    renderWindow->AddRenderer(renderer);
    // 添加到 qvtkWidget 控件中显示
    ui.qvtkWidget->setRenderWindow(renderWindow);
    // 开始渲染
    renderWindow->Render();
}
Ref.
- 骷髅3D打印3D模型


















