Não é possível atribuir QString a QQuickItem * com Qt.resolvedUrl

1

Eu tenho o seguinte código:

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")
    }
}

que está gerando os seguintes erros:

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

nas linhas em que Qt::resolvedUrl está sendo usado. O componente Tabs é uma parte do SDK do Ubuntu, e não do Qt Quick, e a única subconsulta exemplo do seu uso não fornece muita informação sobre o problema.

Eu adicionei exatamente as mesmas linhas que as propriedades do MainView , fora do componente Tabs , e o problema não ficou evidente ali, levando-me a acreditar que o problema está no componente Ubuntu.

Todos os arquivos existem e ficam no mesmo nível no projeto como este. O que estou fazendo errado aqui?

    
por Chris Wilson 24.03.2013 / 13:47

1 resposta

2

A maneira correta de escrever isso é:

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

page quer um Item , mas Qt.resolvedUrl retorna uma string. Que não será interpretado como um URL para um item e, portanto, não será carregado.

    
por payload 27.03.2013 / 15:39