無法使用 Qt.resolvedUrl 將 QString 指派給 QQuickItem*

無法使用 Qt.resolvedUrl 將 QString 指派給 QQuickItem*

我有以下程式碼:

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,因此不會被載入。

相關內容