【问题标题】:What is the purpose of the default keyword in QML?QML 中 default 关键字的用途是什么?
【发布时间】:2014-05-26 11:11:50
【问题描述】:

我试图弄清楚 QML 中的默认关键字是什么。

在这个例子中:http://qt-project.org/doc/qt-4.8/declarative-ui-components-tabwidget.html, 它是如何使用的?

因为在示例中它说

TabWidget 的任何子项实际上都添加到“堆栈”中 项的子项。

但在 main.qml 中,矩形被添加为 TabWidget 的子级。

谁能给我一个清楚的理解?

提前致谢。

【问题讨论】:

  • 你读过关于它的documentation吗?
  • @LaszloPapp 我确实读过它,但我无法理解它在 TabWidget 示例中的使用方式。加上你发的文档是导入QtQuick 2.0,请问导入QtQuick 1.0 还是导入QtQuick 1.1 一样吗??
  • 终于搞定了!!谢谢@LaszloPapp

标签: javascript qt qt4 qml qtquick2


【解决方案1】:

用于描述QML对象属性,具体为default property

【讨论】:

  • 我建议不要使用仅链接的答案,因为它们会随着时间的推移而损坏。
【解决方案2】:

它基本上是 QML 对象的默认属性。也就是说,当您没有明确指定它时,它将退回到那个。更详细的解释和例子见documentation

默认属性 一个对象定义可以有一个默认属性。如果在另一个对象的定义中声明了一个对象,但没有将其声明为特定属性的值,则默认属性是分配值的属性。 使用可选的 default 关键字声明属性会将其标记为默认属性。例如,假设有一个带有默认属性 someText 的文件 MyLabel.qml:

// MyLabel.qml
import QtQuick 2.0

Text {
    default property var someText

    text: "Hello, " + someText.text
}

可以在 MyLabel 对象定义中分配 someText 值,如下所示:

MyLabel {
    Text { text: "world!" }
}

这和下面的效果完全一样:

MyLabel {
    someText: Text { text: "world!" }
}

请注意,这在 Qt 4 中也应该或多或少与概念相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 2011-10-26
    • 2013-09-20
    相关资源
    最近更新 更多