缩放字体大小欲缩放Label
这样的字体大小:Qt的设为Qml快速控制2:无结合环
Label {
font.size: font.size*0.8
}
当然这创造了一个结合环。有没有办法做到这一点,而不创建一个隐藏的Label
元素?
Label {
id: hiddenLabel
}
Label {
font.size: hiddenLabel.font.size*0.8
}
缩放整个标签不是最优的,因为文字质量下降:
Label {
scale: 0.8
}
问候,
嗨,在'Controls'的背景下,这不会给你可靠的结果,例如,你可能使用'ApplicationWindow'作为根对象并在那里设置一个字体大小。这将被传播到'Label'但不包括非控制的FontMetrics。因此,'Label'和'FontMetrics'的默认字体大小不一定相同 - 因此它的第0.8个因子都不是。请参阅[** here **](https://doc.qt.io/qt-5/qml-qtquick-controls2-control.html#font-prop) – derM
@derM如果它不绑定到根元素。有没有可以做到这一点的非根元素?关于'FontMetrics':我喜欢定义一切(甚至非文本内容)相对于它。 – Velkan
您可以使用附件['ApplicationWindow'](https://doc.qt.io/qt-5/qml-qtquick-controls2-applicationwindow.html#window-attached-prop)属性获取案例中的字体@derM引用,然后在'fontMetrics'上设置。例如:'font:ApplicationWindow.window.font'虽然不同的控件有不同的默认尺寸,所以这只适用于某些控件:http://code.qt.io/cgit/qt/qtquickcontrols2.git/tree/src/imports /controls/material/qquickmaterialtheme.cpp#n67 – Mitch