开发环境:win10,vs2017,VTK 8.2.0,Qt 5.11.0
项目的需求是在三维环境下实现UI,最终实现的效果如下:

左边是我的Qt窗口在界面设计器中的预览,右边是VTK三维环境下界面的显示。
(为了体现三维环境,我在右下角加了一个圆柱)
读到这里,首先你应该具备以下能力才能进行之后的步骤:
1.能将VTK和Qt编译到同一个目录下;
2.熟悉Qt和vtk的基本语法,设计思想。
思路:
关于这个需求,尝试了很多方法,但大部分都失败了。
本项目中使用到的这种方法,不保证是最优的,但确定是可行的。
方法的思路如下:
1.将Qt的界面转换为图片,保存在计算机内存中
2.将图片转为纹理,显示到vtk的平面上
实现:
因为涉及到多个文件,不方便放完整代码,我这里就直接说步骤和使用到的函数。
创建Qt界面图片,
1.首先需要在Qt界面上创一个QWidget,将要显示的部分放到该QWidget中;
2.使用Qt的QPixmap库中的grabWidget函数,将界面映射为一个QPixmap;
3.使用QPixmap库函数toImage将图片转化为QImage格式;
注:2,3部分代码如下


974

被折叠的 条评论
为什么被折叠?



