QString kann mit Qt.resolvedUrl nicht zu QQuickItem* zugewiesen werden

QString kann mit Qt.resolvedUrl nicht zu QQuickItem* zugewiesen werden

Ich habe folgenden Code:

Tabs {
    Tab {
        id: financialDetailsTab
        title: i18n.tr("Financial Details")
        page: Qt.resolvedUrl("FinancialDetails.qml")
    }
    Tab {
        id: monthlyBudgetTab
        title: i18n.tr("Monthly Budget")
        page: Qt.resolvedUrl("MonthlyBudget.qml")
    }
    Tab {
        id: annualBudgetTab
        title: i18n.tr("Annual Budget")
        page: Qt.resolvedUrl("AnnualBudget.qml")
    }
    Tab {
        id: savingsGoalsTab
        title: i18n.tr("Savings Goals")
        page: Qt.resolvedUrl("SavingsGoals.qml")
    }
}

welches die folgenden Fehler erzeugt:

Unable to assign QString to QQuickItem*
Unable to assign QString to QQuickItem*
Unable to assign QString to QQuickItem*
Unable to assign QString to QQuickItem*

in den Zeilen, in denen Qt::resolvedUrlverwendet wird. Die TabsKomponente ist Teil des Ubuntu SDK und nicht von Qt Quick und die einzigeBeispielseiner Verwendung gibt keinen großen Aufschluss über das Problem.

Ich habe die exakt gleichen Zeilen als Eigenschaften MainViewaußerhalb der TabsKomponente hinzugefügt, und dort war das Problem nicht erkennbar. Daher vermute ich, dass das Problem bei der Ubuntu-Komponente liegt.

Alle Dateien sind vorhanden und liegen im Projekt auf derselben Ebene wie diese. Was mache ich hier falsch?

Antwort1

Die korrekte Schreibweise hierfür ist:

Tabs {
  Tab {
    page: FinancialDetails {}
    // ...
  }
  // ...
}

pagemöchte ein Item, gibt aber Qt.resolvedUrleinen String zurück. Dieser wird nicht als URL zu einem Artikel interpretiert und daher nicht geladen.

verwandte Informationen