c++ - 我如何使用 Qt Creator 从主窗口中的按钮打开一个新窗口?

标签 c++ qt

这似乎是一项简单的任务,但我一直无法弄清楚如何去做。我在 Qt Creator 中设计了两个窗口,其中一个用于在我的主窗口中按下按钮时打开。这是我试图用来打开它的代码:

void MainWindow::on_generateDomain_clicked()
{
    DomainGeneration dg;
    dg.show();
}

DomainGeneration 是我的窗口类的名称。头文件和源代码并未更改为我生成的默认 Qt Creator。难道我做错了什么?我没有收到任何错误,只是按下按钮时窗口没有打开。

最佳答案

{
    DomainGeneration dg; // <-- automatic object
    dg.show(); // equivalent to setVisible(true)
} // at this point dg is destroyed!

一个解决方案是使 dg 成为 MainWindow 类的(私有(private))数据成员。

QDialogopen()exec() 方法,它们将对话框显示为模态对话框。您可能认为这是默认行为。但在您的情况下,dg 会立即创建和销毁。

关于c++ - 我如何使用 Qt Creator 从主窗口中的按钮打开一个新窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6336543/

相关文章:

c++ - 当 QWSSERVER::SetCursorVisible(false) 不可见时如何恢复我的鼠标指针?

c++ - 我应该使用哪个 C++ GUI 库

c++ - 如何在 Windows 中获取登录用户的 SID

c++ - 通过 if 语句需要左值作为赋值错误的左操作数

multithreading - 暂停QThread

c++ - 通过 QMetaObject::invoke 调用 QListView setModel 问题

c++ - 从另一个函数的 "if loop"内部调用/移动一个函数 - Qt,C++

android - 如何在 Debug模式下将 Qt Creator 中的 --android-platform 更改为不是 android--1?

C++ 从 regex_iterator 获取匹配项

c++ - COM 智能指针如何重置为新实例?