显示与 main.cpp 不同的类

2023-12-29

我是qt新手。 我有一个有多种表格的申请。

我试图从 main.cpp 中选择特定的表单,但它只是闪烁了表单。但我正在获取表单的调试值,并且表单是不可见的。

我的main.cpp代码

#include "dialog.h"
#include "design1.h"
#include <QApplication>
#include <QtCore>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    int theme  = 2;
    if(theme == 1)
    {
       Design1 w;
       w.showMaximized();
       w.show();
   }
   else
   {
      Dialog w;
      w.showMaximized();
      w.show();
   }
 return a.exec();
}

问题在于,在这两种情况下,w 在“if”内的范围有限,因此它们会立即被销毁。一种解决方案是使用管理动态内存的指针,例如使用 QScopedPointer:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QScopedPointer<QWidget> w;

    int theme  = 2;

    if(theme == 1)
    {
        w.reset(new Design1);
    }
    else{
      w.reset(new Dialog);
    }

    if(w){
        w->showMaximized();
        w->show();
    }

    return a.exec();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示与 main.cpp 不同的类 的相关文章