gpt4 book ai didi

c++ - 显示与main.cpp不同的类

转载 作者:行者123 更新时间:2023-12-03 07:15:49 25 4
gpt4 key购买 nike

我是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();
}

关于c++ - 显示与main.cpp不同的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62630324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com