【问题标题】:What is the difference between Label and Text in Qt5?Qt5中的Label和Text有什么区别?
【发布时间】:2018-10-07 11:10:17
【问题描述】:

我是使用 Qt creator 和 QML 语言的新手。最近我看到了两个名为 Label 和 Text 的类。它们有什么区别?

谢谢

【问题讨论】:

  • 您能否在您的问题中提供所需的行为、特定问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。”
  • 只要查看文档,您就可以看到 Label 派生自 Text 并添加了 2 个新属性 - backgroundpalette。学习使用 Qt 文档,这对你的开发很有帮助。另一个不同的是,一组是 Qt.Controls 2,另一组是 Qt.Quick。

标签: qml


【解决方案1】:

首先,您可以使用两个快速控制模块,1 和 2。您绝对应该切换到 2。这会使您在搜索信息时感到困惑,尤其是如果您是新手。由于两者之间存在很大差异,请从这里开始https://doc.qt.io/qt-5.11/qtquickcontrols2-index.html

所以您可能在谈论http://doc.qt.io/qt-5/qml-qtquick-controls-label.htmlhttps://doc.qt.io/qt-5/qml-qtquick-controls2-label.htmlhttp://doc.qt.io/qt-5/qml-qtquick-text.html。 在 QML 文档的页面上,在 Inherits 下,您始终可以找到该类型的继承位置(如果有的话)。这有助于理解这些元素是如何构建的流程。 例如,在这种情况下,两个控件的流程相同。我们可以看到 Text 继承自 Item , Label 继承自 Text 元素。 此外,在 Quick Controls 2 Label 的描述中,您可以注意到:

Label extends Text with styling and font inheritance. The default colors and font are style specific. Label can also have a visual background item.

所以这应该很明显,但如果您刚刚开始使用 Qt/QML 文档,可能会有点不知所措。

在我看来,Qt/QML 文档是你能找到的最好的文档之一。它们可能在某些地方缺少,但它们仍然非常详细,所以只要习惯它们,你就会在那里找到所有信息:)

【讨论】:

    【解决方案2】:

    标签是文本的简单版本。文字是Label加Item。

    1. Text 拥有 Label 所拥有的一切(大约 50 多个属性,包括字体)
    2. Text 还继承了 Item 属性(另外 50+)

    例如Text有“x”、“y”、“anchor”、“visibility”等,而Label没有。

    基本上,如果只需要一个文本并且它可以执行您想要的操作,请使用标签。如果需要额外的控制,请使用文本。

    额外信息:您可以搜索并访问特定 QML 事物的“所有成员列表”:

    【讨论】:

    • Label 等所有 Item 始终具有“x”、“y”、“anchor”、“visibility”等属性。
    猜你喜欢
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 2022-01-21
    • 2022-12-04
    • 1970-01-01
    相关资源
    最近更新 更多