Lesson5 How to open a new window from a pushbutton

来源:互联网 发布:linux nginx访问403 编辑:程序博客网 时间:2024/05/22 00:06

1. 右击项目,选择add new->QT->QT Designer Form class,然后template选择Dialog without buttons,将类命名为SecDialog


2.然后在主窗口里面拖一个pushbutton,双击修改它的标题为Open Second Win,右击添加clicked slot


3.由于要在Mainwindow.cpp里面引用它,所以要包含它的头文件 


#include "secdialog.h"


4.在slog函数里面写入如下语句

void MainWindow::on_pushButton_3_clicked(){    SecDialog secDialog(this);    secDialog.setModal(true);    secDialog.exec();}



这样就得到了一个model dialog


6.下面我们建一个modeless dialog


我们拖动一个pushbutton, 建立clicked() slot,然后添加如下语句

 由于是非模态的,所以我们最好创建一个成员变量指针,而不是像model dialog一样用临时变量来存


所以我们在mainwindow.h头文件里面引用secdialog.h

#include "secdialog.h"


然后创建一个指针变量

SecDialgo* m_pSecDialog;


最后我们在clicked slot函数里面写入如下语句:

void MainWindow::on_pushButton_4_clicked(){    m_pSecDialog = new SecDialog(this);    m_pSecDialog->show();}


注意观察,现在main window在底下是可以被选中的




0 0