1

如何QWidget从现有窗口打开一个新窗口 ( ),使其保持打开状态并且即使旧窗口关闭也不会关闭?

class Window : public QWidget {
    QPushButton *newWindow;
public:
    Window(QWidget *parent = 0);
public slots:
    void on_newWindow_clicked();
};

Window::Window(QWidget *parent) :
    QWidget(parent)
{
    newWindow = new QPushButton("New Window!", this);
    QObject::connect(newWindow, &QPushButton::clicked,
                     this, &Window::on_newWindow_clicked);
}

void Window::on_newWindow_clicked()
{
    Window w;
    w.show();
}

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    Window w;
    w.show();
    return app.exec();
}

第一个窗口打开得很好,newWindow上面显示了按钮。如果我按下按钮,它将按预期打开一个新窗口,但它只是在屏幕上闪烁,打开后立即关闭。

另外,由于我需要它以便我可以关闭原始窗口并仍然保持新窗口打开,我应该为此使用多个进程和/或线程吗?

4

0 回答 0