我正在使用 QML/c++ 制作一个应用程序,第一页导航窗格是用 qml 创建的。然后第二页也是qml。在第一页按下按钮时,将调用并解析第二页的 c++ 函数,并且必须推送到导航页。下面提到了我在按下按钮时所做的事情。
QmlDocument *qml = QmlDocument::create("asset:///home.qml");
if (!qml->hasErrors()) {
Page *homepage = qml->createRootObject<Page>();
if (homepage) {
qDebug() <<"created a homepage";
navPane->push(homepage);
}}
但是当推送完成时,应用程序会自动终止并给出错误。
控制台输出是(创建了一个主页
进程 304619722 (Sampleapp2) 终止 SIGSEGV 代码=1 fltno=11 ip=78f0a210(/base/usr/lib/libbbcascades.so.1@_ZNK2bb8cascades14NavigationPane7indexOfEPNS0_4PageE+0x707) mapaddr=0010a210。参考=00000010)
我正在解析指向第二个 c++ 文件构造函数的导航页面指针并将其分配给 this->navpange 变量。
我应该在第一个 c++ 文件头中公开导航窗格吗?如果是这样怎么办?
无论如何我可以从第二个 c++ 文件中获取正在运行的应用程序的活动导航窗格而不解析它?
提前致谢 :-)
我必须做导航吗