0

我对 QTQuick1.1 (QT4.8) 有疑问。我有一个主类,我在其中实例化 QMLApplicationViewer 并显示窗口。我还调用了一个类,该类应该用另一个 QML 文件显示另一个,但它没有显示。但是会显示调试消息。这是我的代码:

AnotherWindow::AnotherWindow(QString notImportant)
{
}
void AnotherWindow::create(){
QmlApplicationViewer view;
qDebug()<<"dbug: CWCReate";
view.addImportPath(QLatin1String("modules"));
view.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
view.setMainQmlFile(QString("instanceOfAnotherWindow.qml"));
view.showExpanded();
qDebug()<<"dbug: show";
}

而在主要

QmlApplicationViewer view;
view.addImportPath(QLatin1String("modules"));
view.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
view.setMainQmlFile(QLatin1String("/main.qml"));
view.setFixedSize(360,600);
AnotherWindow *c = new AnotherWindow("notImportantHere");
c->create();
view.showExpanded();
return app->exec();
}

提前致谢。

4

1 回答 1

0

这条线是麻烦:

QmlApplicationViewer view;

想一想你在这里做什么?

:在函数内(希望)在程序的整个生命周期内实例化您想要的对象?

:局部变量的生命周期是多少!?

Q.当函数退出时这个变量会发生什么!?

哦!,但这主要工作正常,这也是一个功能?

:但是 main 函数的生命周期是多少?


解决方案: 使这个对象在程序的整个生命周期中都可用。指针和动态分配内存怎么样?让这个指针成为你的类的数据成员怎么样?并且 main 在您的程序结束之前不会“退出”,是吗!?

于 2013-09-15T06:10:47.417 回答