【C++】将Qt界面显示到VTK三维环境中

开发环境: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部分代码如下


                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值