QT创建两个窗口(一个窗口包含另一窗口)

因为做课程设计的时候要在开发板上扩展一个摄像头,所以自然就有了拍摄画面在哪里显示的问题,最后思考决定在原始窗口上设置一个button,按下即在原始窗口上再显现一个新窗口,新窗口作为拍摄画面的显示界面,大概是这个想法,那么如何在一个窗口嵌入一个新的窗口就是一个问题,相信遇到这个问题的有很多,具体看接下来的流程。

首先在原始窗口的.ui文件拖入一个新的QWidget,并且同时创建一个新的QWidget,保持两个窗口大小相同,此时文件结构如图

QT创建两个窗口(一个窗口包含另一窗口)
然后在mainwindow.h中包含video.h,然后在mainwindow.cpp中创建一个video指针,指向由原始窗口的QWidget窗口创建的新video对象,此时可以在video.cpp中进行编程,在mainwindow里设置一下此对象hide或者show就可以实现显示画面了
QT创建两个窗口(一个窗口包含另一窗口)
这样就可以单独编程,两个窗口互不影响。
运行效果如下:
Monitor未按下:
QT创建两个窗口(一个窗口包含另一窗口)
按下之后如图
QT创建两个窗口(一个窗口包含另一窗口)
因为是在PC上模拟,并没有画面显示,事实上QWidget窗口已经显现出来并且之前信息被遮盖