我有以下代码:
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,因此不会被加载。