如何在Qt中从主窗口打开一个新窗口?

11

我是QT编程的新手,想知道如何从主窗口打开一个新窗口并使主窗口消失?有没有源代码可以参考?


1
你应该先阅读Qt文档。你正在询问在Qt文档中有很好记录的问题。 - Dmitry Sazonov
4个回答

9
从MainWindow的插槽中调用以下代码:
QWidget *wdg = new QWidget;
wdg->show();
hide();//this will disappear main window

这段代码显示“hide”在此范围内未声明。 - Learner
1
使用 close(); 也可以,并且可能更好地避免内存泄漏。 - mxmlnkn

8

mainwindow.h 中:

如下声明类 NewWindow 的对象 nw:

NewWindow *nw = new NewWindow();

假设我们在主窗口上点击button1后打开一个新窗口。
那么,在MainWindow类的on_pushButton_1_clicked()槽函数中:
void MainWindow::on_pushButton_1_clicked(){ 
    nw->show();
    this->hide();
}

1
这是正确的,但可能会导致内存泄漏。NewWindow nw; new.show()会更好。 - Harsh Kumar Narula

1
尝试使用这个替代方案。
this-> hide();

0
    hide();         // this is to hide the previous window
    secDialog = new SecDialog(this);
    secDialog->show();

确保在显示第二个对话框之前添加第一行代码 hide(); 以便隐藏主窗口。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接