从qt中的对话框打开新对话框

Tan*_*tty 6 qt qdialog qt-creator

我试图从按钮单击事件的现有对话框中打开一个新的对话框窗口,但我无法执行此操作,因为我从MainWindow打开了对话框窗口.

我正在尝试:

Dialog1 *New = new Dialog1();

New->show(); 
Run Code Online (Sandbox Code Playgroud)

是否有一种不同的方式从现有的对话框窗口打开对话框窗口???

Ant*_*ony 8

必须有其他一些问题,因为你的代码看起来不错.这是我如何做到的:

#include <QtGui>

class Dialog : public QDialog
{
public:
    Dialog()
    {
        QDialog *subDialog = new QDialog;
        subDialog->setWindowTitle("Sub Dialog");
        QPushButton *button = new QPushButton("Push to open new dialog", this);
        connect(button, SIGNAL(clicked()), subDialog, SLOT(show()));
    }
};

class MainWindow : public QMainWindow
{
public:
    MainWindow()
    {
        Dialog *dialog = new Dialog;
        dialog->setWindowTitle("Dialog");
        dialog->show();
    }
};

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    MainWindow w;
    w.setWindowTitle("Main Window");
    w.show();

    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

顺便说一下,请注意我是如何将QPushButton的"点击"信号连接到QDialog的"show"插槽.非常便利.