为什么我会收到错误“无法分配给不存在的属性“head”?

为什么我会收到错误“无法分配给不存在的属性“head”?

我实际上在使用的是 Trusty,我想尝试 Ubuntu SDK 的 API 14.10 附带的新“head”属性。

当我启动 qmlscene 来测试我的应用程序时,出现此错误:

Cannot assign to non-existent property "head"

我将其导入到我的 qml 文件中:

import QtQuick 2.2
import Ubuntu.Components 1.1

感谢您的帮助。

编辑:代码示例

import Ubuntu.Components 1.1
import QtQuick 2.2
MainView {
    width: units.gu(50)
    height: units.gu(80)
    useDeprecatedToolbar: false
    Page {
        id: page
        title: "Sections"
        head {
            sections {
                model: ["one", "two", "three"]
            }
        }
        Label {
            anchors.centerIn: parent
            text: "Section " + page.head.sections.selectedIndex
        }
    }
}

答案1

这是因为您正在运行过时的 Ubuntu SDK 版本。即使您已添加 SDK PPA,Ubuntu SDK 也不会在 Ubuntu 14.04 (Trusty) 上更新。这是因为 Ubuntu SDK 需要 Qt 5.3,而 Qt 5.3 仅在 Ubuntu 14.10 中可用。

你可以通过以下方式解决这个问题:

  • 使用模拟器测试您的应用程序。因此,您在 Trusty 上编写代码,但在模拟器中运行它以查看它是否按预期工作。您可以在模拟器入门中找到更多信息这里
  • 升级到 14.10 以便能够在桌面上测试和运行应用程序
  • 使用 Utopic VirtualBox VM

相关内容