我遇到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";
}
在Main
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();
}
提前致谢。
答案 0 :(得分:0)
这一行很麻烦:
QmlApplicationViewer view;
想一想你在这做什么?
问。在函数内部(希望)实例化一个你想要的对象吗?
问。什么是本地变量的生命周期!?
问。当函数退出时,此变量会发生什么变化!?
哦!,但这在主要工作正常,这也是一个功能?
问。但是那么主要功能的生命周期是什么?
解决方案: 制作此对象,使其在程序的整个生命周期内都可用。指针和动态分配内存怎么样?如何将此指针作为您的类的数据成员?在你的程序结束之前,main不会'退出',是吗?