1.在主UI界面中有一个QStackWidget,主Ui为Form1,继承自QMainWindow,子Ui为Form2,继承自QWidget。
2.实现功能,在Form1中点击按钮,使得Form2能显示在Form1中的QStackWidget容器中,且能调整Form2从容器中浮动出来。
3.方法:
a.在Form1的头文件中定义 Form2的对象指针Form2 *form2= nullprt;
b.在Form1中添加显示的响应按钮事件:
form2 = new Form2();
//form2 ->show();//如果直接show(),则独立显示form2
ui.stackedWidget->addWidget(form2 );
ui.stackedWidget->setCurrentWidget(form2);
ui.stackedWidget->update();//更新stackwidget 则可将form2嵌入其中
c.在Form1中添加使得Form2关闭的按钮事件:
form2->close();
delete form2;
form2= nullptr;
至此完成显示与关闭子窗口 。若要浮动则可添加下面的功能。
d.将form2浮出
//将form2从stackedwidget中删除,并更新界面
ui.stackedWidget->removeWidget(form2);
ui.stackedWidge