当前位置: 首页 > wzjs >正文

免费一百个空间访客领取网站网址导航浏览器下载

免费一百个空间访客领取网站,网址导航浏览器下载,网站的建设模式是指什么,外贸网站建设收益前言:工具链 在QTVTK的项目中,我们所说的工具链是指在通过CMake配置VTK的时候所选择的C编译器环境是使用MSVC还是MinGW,由于MSVCVTK无论是在兼容性还是性能上面,都较MinGW更具优势,因此我们通常选择的工具链是MSVC&am…

前言:工具链

在QT+VTK的项目中,我们所说的工具链是指在通过CMake配置VTK的时候所选择的C++编译器环境是使用MSVC还是MinGW,由于MSVC+VTK无论是在兼容性还是性能上面,都较MinGW更具优势,因此我们通常选择的工具链是MSVC,本文主要介绍在window环境下安装和配置VTK9.x

1 Qt Creator的MSVC配置

首先配置Qr Creator的编译器为MSVC
在这里插入图片描述
按照如图配置构建套件Kit为MSVC,因此最好先安装Virtual Studio

2 CMake-GUI构建VTK源码并使用VS2022编译安装VTK

  • Step01: 先从官网下载Window版本的Vtk源码,我这里下载的是vtk9.4.2,属于是比较新的版本了!

  • Step02:使用CMake-GUI,选择vtk源码路径(包含CMakeList.txt的目录,因为CMake工具是一句CMakeList.txt文件来进行项目构建的),确定vtk构建后的保存路径,如下图所示
    在这里插入图片描述
    弹出对话框,供我们选择编译器,这个时候依据我们主机安装的VS版本选择MSVC的版本以及操作系统的位数(通常是64位)

  • Step03:等待数分钟之后,配置Name/Value键值对,其目的是配置构建过程中的参数以符合我们对VTK库的需求,这里我们为了支持QT,进行了如下配置:
    在这里插入图片描述

    开启QT支持

  • Step04:点击Generate生成适配于MSVC的解决方案,使用VS2022打开.sln(在D:/Packages/VTK-9.4.2/build_msvc下找.sln文件),进行如下操作
    在这里插入图片描述
    然后点击批生成,勾选ALL_BUILD和INSTALL(建议选择Release版本)
    在这里插入图片描述
    在这里插入图片描述
    不出意外的话,你的VTK就配置安装成功了,你就可以在QT上使用VTK了…

3 在Qt项目中验证VTK是否安装成功

CMakeList.txt配置

# 设置VTK相关的变量:VTK_DIR应该指向.cmake的目录路径
set(VTK_INCLUDEDIRS "D:\\ProgramFiles\\VTK-9.4.2\\install_mssvc\\include\\vtk-9.4")
set(VTK_DIR "D:\\ProgramFiles\\VTK-9.4.2\\install_mssvc\\lib\\cmake\\vtk-9.4")
option(USE_QT "Use Qt with VTK" ON)# 寻找外部库VTK
find_package(VTK REQUIRED COMPONENTSCommonCoreCommonDataModelFiltersCoreFiltersGeneralGUISupportQtRenderingQtRenderingCoreRenderingOpenGL2InteractionStyle)

头文件

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);// VTK核心组件
#include <vtkSmartPointer.h>
#include <vtkSphereSource.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkGenericOpenGLRenderWindow.h>// VTK Qt集成组件(使用QVTKOpenGLWindow)
#include <QVTKOpenGLWindow.h>
#include <QVBoxLayout>
#include <QWidget>
#include <QSurfaceFormat>
#include <QWidget>

cpp文件

CWnd_3D::CWnd_3D(QWidget *parent): QWidget(parent), ui(new Ui::CWnd_3D)
{ui->setupUi(this);// 创建中央部件和布局QVBoxLayout* layout = new QVBoxLayout(this);// 创建VTK渲染组件vtkSmartPointer<vtkSphereSource> sphere = vtkSmartPointer<vtkSphereSource>::New();vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();// 配置渲染管线sphere->Update();mapper->SetInputConnection(sphere->GetOutputPort());actor->SetMapper(mapper);renderer->AddActor(actor);renderer->SetBackground(0.7, 0.8, 0.8);// 创建渲染窗口vtkSmartPointer<vtkGenericOpenGLRenderWindow> renderWindow =vtkSmartPointer<vtkGenericOpenGLRenderWindow>::New();renderWindow->AddRenderer(renderer);// 创建QVTKOpenGLWindow并设置渲染窗口QVTKOpenGLWindow* vtkWindow = new QVTKOpenGLWindow();vtkWindow->setRenderWindow(renderWindow);// 将QWindow包装为QWidget以集成到布局中QWidget* vtkWidget = QWidget::createWindowContainer(vtkWindow, this);layout->addWidget(vtkWidget);
}

运行效果展示

在这里插入图片描述

http://www.dtcms.com/wzjs/348616.html

相关文章:

  • 做投融资平台的网站都有哪些?seo网址大全
  • wordpress一栏主题廊坊快速优化排名
  • 网站建设外文文献淄博seo培训
  • node做网站后台qq刷赞网站推广
  • wordpress上传功能十堰seo优化
  • 镇江网站关键词优化预订站长之家查询域名
  • 建网站需要什么语言员工培训
  • 东莞做棋牌网站建设搜索引擎排名优化是什么意思
  • 中国网站建设公司百度浏览器官网入口
  • 景区网站建设方案网站入口百度
  • 建设网站犀牛云站长之家最新域名查询
  • 可以做网站背景音乐的英文歌曲国际新闻网
  • 深圳市龙岗区住房和建设局官网网站站长之家
  • 国内有多少家做网站的企业搜索引擎营销特点
  • 什么是外包公司?优化营商环境应当坚持什么原则
  • 做网站一个月能挣多少c盘优化大师
  • 日报做的地方网站googleplay安卓版下载
  • 网站备案后内容网络营销外包网络推广
  • 榆林网站开发武汉seo公司排名
  • 深圳大鹏住房和建设局网站国际新闻报道
  • 新网站如何做sem南通网站快速收录
  • 众博彩做倍投的网站靠谱吗网络营销广告案例
  • 镇海区住房和建设交通局网站郑州网站制作
  • 设计类专业需要艺考吗成都网站seo外包
  • 网站改版的意义行业网站
  • 网站开发 估算 excel什么是搜索引擎营销
  • 网站建设安全架构免费推广网站入口
  • asp动态网站开发实训教程软文网站推广法
  • wamp做的网站上传东莞网站建设seo
  • 辽宁响应式网站费用互联网培训班学费多少