
У меня есть следующий код:
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")
}
}
что приводит к следующим ошибкам:
Unable to assign QString to QQuickItem*
Unable to assign QString to QQuickItem*
Unable to assign QString to QQuickItem*
Unable to assign QString to QQuickItem*
на линиях, где Qt::resolvedUrl
используется. Tabs
Компонент является частью Ubuntu SDK, а не Qt Quick, и единственныйпримерего использование не дает достаточного понимания проблемы.
Я добавил точно такие же строки в свойства MainView
за пределами компонента Tabs
, и проблема там не проявилась, что наводит меня на мысль, что проблема связана с компонентом Ubuntu.
Все файлы существуют и находятся на том же уровне в проекте, что и этот. Что я делаю здесь не так?
решение1
Правильный способ написания:
Tabs {
Tab {
page: FinancialDetails {}
// ...
}
// ...
}
page
хочет Item
, но Qt.resolvedUrl
возвращает строку. Которая не будет интерпретирована как URL к элементу и, следовательно, не будет загружена.