qt 多窗体跳转问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt 多窗体跳转问题相关的知识,希望对你有一定的参考价值。

我有4个窗口,form1,form2,form3,form4.现在是可以转换的流程是form1->from2->from3->from4.上一层的窗口可以回去也就是可以form4->from3->from2->from1.

请问如何实现 最好有代码示例

在一个窗体中打开另一个窗体
1.通过designer创建窗体form1
2.通过designer创建窗体form2
3.在窗体form1的源代码中
#include "Form1Dialog.h"

#include "Form2Dialog.h"
Form1Dialog::Form1Dialog(QWidget *parent): QDialog(parent)

setupUi(this);
QObject::connect(pushButton,SIGNAL(clicked()),this,SLOT(showForm2()));

void MainDialog:: showForm2()

Form2Dialog newform(this);
newform.exec();

窗体回退的时候,只要在form2里关闭自己,就会回到前一个窗体(form1)了(因为前一窗体并没有关闭)
参考技术A 在序号小的窗口中,使用 ShowDialog(this) 的方式,显示下一个序号的窗口,就可以了。

例如:
在 form1 中,显示 form2
//代码如下
Form2 frm2 = new Form2();
frm2.ShowDialog(this);

其他的以此类推

QT多窗口切换的问题

请问如何从QMainWidget类的窗口转到其他窗口?其实我对QMainWidget和Qwidget、Qdialog的概念区别也不是很清楚
目的是实现点击 QMainWidget类窗口的一个BUTTON 跳转到其他窗口的功能

参考技术A 可以参考这个函数void QWidget::setWindowState ( Qt::WindowStates windowState ),要跳转到哪个窗口,让它的windowsState设为Qt::WindowActive。
QMainWinodow带有很多工具栏、功能的窗体,可以看看传统界面的word。它可以添加菜单栏、工具栏、状态栏等。
QDialog是对话框,临时与用户交互的窗口,一般做为用户输入、配置窗口。它会独占焦点,无法对其父窗口进行操作。
QWidget可以是说是最基本的窗体类,很多控件会继承于它。
更多信息参考assistant中对它们的各自介绍。本回答被提问者和网友采纳
参考技术B alt+Tab

以上是关于qt 多窗体跳转问题的主要内容,如果未能解决你的问题,请参考以下文章

QT C++ 编写多窗口之间的跳转 在一个窗口中可以变化很多UI界面

C/C++ Qt MdiArea 多窗体组件应用

C/C++ Qt TabWidget 实现多窗体创建

QT多窗口切换的问题

QT 窗体问题

Pannel中的窗体跳转(C#的Winform)