【发布时间】:2016-04-19 08:35:49
【问题描述】:
我有一个 QML Item,其中包含一些 Text 字段,它们应该具有所有相同的字体。一定要做到这一点,我引入了font 类型的新属性myFont。初始化这个属性我使用Qt.font 函数,它创建一个字体对象。但我必须至少指定一个属性(family 或pointSize)。
我现在的问题是:如何检索myFont 属性的默认字体?
如果我只创建一个Text{} 项目,它已经附加了一个默认字体,我怎样才能为myFont 属性获得相同的字体? (同时我使用隐藏的Text 字段并为其font 属性创建一个别名,但我想要一个更好的解决方案)。
Item {
property font myFont: Qt.font({pointSize: 10})
Text {
id: header
font: myFont
text: "My Header"
}
Text {
id: subject
font: myFont
text: "My Subject"
}
Text {
id: message
font: myFont
text: "Some meassage!"
}
}
【问题讨论】:
-
为什么不使用
property font myFont: header.font?并从header中删除默认的font绑定? -
实际上 Text 字段位于 ListView 委托中,所以这是我的第一次尝试,但没有奏效(或者我不知道如何)。
-
您应该使用您需要使用的字体创建自己的对象类型(即声明
Text的MyText)。然后使用MyText而不是Text。 -
这应该如何帮助从外部设置一个通用字体到列表视图委托?
-
请看我的回答。