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

问题描述

| 这似乎是一个简单的任务,但是我还无法弄清楚该怎么做。我在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!
一种解决方案是使“ 2”成为“ 3”类的(私有)数据成员。
QDialog
具有
open()
exec()
方法,将对话框显示为模式对话框。可能您认为这是默认行为。但是,在您的情况下,
dg
被立即创建并销毁。     ,        对于尼克·丹杜拉基斯来说,这更是“谢谢”,而不是答案。那很有帮助。我真是个菜鸟,我从没想过方法结束后会被销毁。 我在主窗口(window.h)的头文件中声明了我的about类((或实例化了吗?还是两者都实例化了?)?
void Window::on_actionAbout_triggered()
{
    Window::about.show();
    Window::about.raise();
    Window::about.activateWindow();
}
我猜这行得通,因为about对象是先前实例化的,因此不限于方法或插槽的终止范围,该范围很快终止。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...