首先说明,我是在vs+qt+vtk的环境下进行的。
1、关于如何在这种环境下建立一个新的ui界面。
我原来有一个项目,需要添加一个新的界面,实现分屏显示,整个项目是通过CMAKE进行管理的,所以,要先在QtCreator中新建一个qt的界面,需要什么窗口类型就新建一个什么类型的窗口。将项目文件夹中的.ui/.cxx/.h三个文件拷贝到现有的工程中,在CMakeList中把新添加的文件写进去。然后再重新CMake一次,得到新的项目文件。这个操作就不详述了。
2、关于如何在主界面中调用子界面的控件
首先进行一下说明,我的主界面是原来的界面,名称为:psoditronimaging,子界面为新添加的界面,名称为:subwin,子界面是用来进行分屏显示的。上面有一个QVTKWidget插件,这个插件和普通的qt的控件相同,都可以看做是qt的控件,你可以把它看做是一个QLabel。现在要实现的目标就是在主界面中调用子界面的QVTKWidget这个插件,让它显示图形。(相当于在主界面让子界面的QLabel显示我想要的字符之类的操作,也就是调用它)。
(1)将子界面的.h文件中Ui::subWin *ui修改为public属性,因为在主界面中通过类的方式调用。
如图1所示。
图1 修改为public
(2)在主界面的.h文件中添加子界面的.h头文件,如图2中所示,添加#include “subwin.h”
图2 添加subwin.h
(3) 还是在主界面的.h文件中,添加一个子界面的对象,如图3所示
图3 建立子界面的对象
(4)在主界面的.cxx文件中就可以直接调用子界面的控件了。具体的结果就不贴图了。
主界面添加两个文件
#include “ui_subwin.h”
#include “subwin.h”
图4 在主界面调用子界面的控件