首页 > 其他分享 >QT与VTK结合

QT与VTK结合

时间:2024-01-17 09:33:06浏览次数:19  
标签:控件 插件 QVTKOpenGLNativeWidget QT 自定义 VTK qvtkWidget 结合

QT与VTk结合

最简单的方法

在代码中实例化vtkwidget, 并设置其渲染窗口setRenderWindow, 如下所示:

#include "vtkGenericOpenGLRenderWindow.h"
#include "QVTKOpenGLNativeWidget.h"

QVTKOpenGLNativeWidget* qvtkWidget = new QVTKOpenGLNativeWidget();
vtkGenericOpenGLRenderWindow* renderWindow = vtkGenericOpenGLRenderWindow()::New();
qvtkWidget->setRenderWindow(renderWindow);

// 此处的layout需要自己定义
layout->addWidget(qvtkWidget);

QVTKWidgetPlugin插件

选用此方法要慎重, 此方法仅限于VTK低于9.0版本。 VTK9.0以上版本不再包含编译该插件的选项,也不存在头文件"QVTKWidget.h"

如果你能使用该插件, 还需设置渲染窗口SetRenderWindow

总归, 该插件仅仅为你省去了手动添加自定义控件的操作

自定义控件

自定义控件说白了就是将QWidget提升为自定义控件。QVTKOpenGLNativeWidget 实际上是VTK给写好的一个自定义控件,继承自QWidget类,所以只需要将QWdiget类提升为QVTKOpenGLNativeWidget类。

操作步骤如下:

vtk_qt_step1

vtk_qt_step2

vtk_qt_step3

标签:控件,插件,QVTKOpenGLNativeWidget,QT,自定义,VTK,qvtkWidget,结合
From: https://www.cnblogs.com/quenwaz/p/17969096

相关文章

  • python pyqt6 QComboBox 设定下拉框背景颜色
    设定QComboBox的背景颜色,边框设定,以及下拉框的背景颜色以及边框设定,selection-background-color不生效可忽略 xxx_source=QComboBox(self.xxx_frame)xxx_source.setStyleSheet("QComboBox{background-color:transparent;color:transparent;border-......
  • argo-rollout使用--金丝雀结合ingress-nginx
    1.金丝雀发布流程,安装比例发布,又名灰度发布举例:共10pod第一批发布30%V1:10个PodV2:3个Pod第二批发布60%V1:10个PodV2:6个Pod第三批发布100%V1:10个PodV2:10个Pod第四批发布V2:10个Pod(active)V1:0个Pod 2.资源文件准备文......
  • easyui datebox 周选择器 结合moment.js获取一周的时间范围
    项目里用的easyui,用weekpicker的话需要与easyui代码有冲突会导致页面报错,所以直接改造一下easyui的datebox实现这一功能1<inputtype="text"class="easyui-datebox"data-options="formatter:myformatter,parser:myparser,onSelect:onSelect"id="S_Week">1......
  • Qt/C++中英输入法/嵌入式输入法/小数字面板/简繁切换/特殊字符/支持Qt456
    一、前言在嵌入式板子上由于没有系统层面的输入法支持,所以都绕不开一个问题,那就是在需要输入的UI软件中,必须提供一个输入法来进行输入,大概从Qt5.7开始官方提供了输入法的源码,作为插件的形式加入到Qt中,这里需要特别提示的是,该源码是gpl的,商业应用对这个比较不感冒,可能更愿意自己基......
  • Qt连接MySQL数据库失败
    连接MySQL数据库时报错:QSqlDatabase:QMYSQLdrivernotloadedQSqlDatabase:availabledrivers:QSQLITEQODBCQODBC3QPSQLQPSQL7有上述报错是因为使用的qt版本不自带mysql的驱动,需要手动编译。可以检查一下D:\pawf\Program\dev\cpp\Qt\5.15.2\mingw81_64\plugins\sqldri......
  • 4412 设备树 qt busybox , ctrl+c 无法终止 程序
    问题: 在系统中,ctrl+c无法终止程序。背景: 软件:迅为网盘设备树镜像。硬件:迅为4412板卡。  网上的截图:   我自己的改动如下;     结果显示: ......
  • Qt:获取WIFI列表
    示例:使用QT来获取Windows电脑WIFI列表中所有WIFI的名称,实际是执行CMD命令来完成(netshwlanshownetworks) //获取WIFI列表QProcessprocess;process.start("netshwlanshownetworks");process.waitForStarted();process.waitForFinished();QStringcmd_res_text=QSt......
  • C#结合串口通信类实现串口通信源代码(原创)
    C#结合串口通信类实现串口通信源代码(原创) mycom是串口通信类,在本blog前一篇中有完整代码。( C#串口通信编程类(修改版) )下面是串口通讯测试程序的源代码,将mycom类放在此项目中可以实现简单的串口通信,希望读者能通过这个程序对串口通信过程有一个初步的了解:usingSystem;us......
  • QTcpSocket发送存储QObject的QList
     #include<QTcpSocket>#include<QDataStream>#include<QByteArray>voidsendObjectList(QTcpSocket*socket,constQList<QObject*>&objectList){QByteArrayserializedData;QDataStreamout(&serializedData,QIODev......
  • Qt+opengl,开启抗锯齿
    MyOpenglWidget::MyOpenglWidget(QWidget*parent):QOpenGLWidget{parent}{auto&mysignal=MySignal::instance();//绘制和清空connect(&mysignal,&MySignal::drawSignal,this,[&](Shapeshape){drawShape(shape);});......