从现有窗口打开新窗口?

时间:2013-07-03 20:11:27

标签: c++ multithreading qt qt5

如何从现有窗口打开一个新窗口(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按钮。 如果按下按钮,它将按预期打开一个新窗口,但它只是在屏幕上闪烁,打开后立即关闭。

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

0 个答案:

没有答案