Qt 从我的主窗口创建新窗口

Posted

技术标签:

【中文标题】Qt 从我的主窗口创建新窗口【英文标题】:Qt creating new window from my mainwindow 【发布时间】:2014-05-09 19:57:03 【问题描述】:

所以我创建了 2 个窗口,当我点击一个按钮时,我试图在我的主窗口中创建一个新窗口

我用按钮连接的功能是这样的

void MainWindow::ProfileCreation()

CreateProfile cProfile;

cProfile.show();
cProfile.raise();
cProfile.activateWindow();

但是当我尝试点击按钮时,窗口会打开 0.5-1 秒,然后再次关闭

如果我在创建 MainWindow 的 main.cpp 文件中执行此操作,它可以正常工作并显示窗口

我应该怎么做才能让窗口一直显示?

【问题讨论】:

【参考方案1】:

cProfile 是一个局部变量,我不完全了解 QT,但我想当ProfileCreation 退出时该变量被破坏,窗口会自动关闭。您必须将cProfile 保留为类成员、全局变量或在堆上创建为指针。

【讨论】:

哦,是的,我现在自己发现了,但后来我又遇到了另一个问题,但无论如何谢谢 :) 我现在有一个新问题,我似乎无法传输我填写的信息一个窗口到另一个窗口,有什么想法可以做到这一点吗? @Sumsar1812 在CProfile类中添加Q_OBJECT宏,并使用信号/槽系统与之通信【参考方案2】:

如果您的第二个窗口是对话框,您可以隐藏第一个并执行第二个。

this->hide();
dialog mainDialog;
dialog.setModal(true);
dialog.exec();

【讨论】:

以上是关于Qt 从我的主窗口创建新窗口的主要内容,如果未能解决你的问题,请参考以下文章

更改 Qt 中的主窗口标题

如何从我的组件打开的窗口中反应性地检查更改

创建一个即使在全屏模式下也保持在顶部的新窗口(Linux 上的 Qt)

QT Menu如何创建新窗口?

如何创建多个/级联窗口 PyQt4?

在 Qt 中嵌入 PyQtGraph 而不生成新窗口