首页 > 解决方案 > 更改为粗体时 QML 计算文本空间

问题描述

我有一个自定义工具按钮,当检查时字体变为粗体。发生这种情况时,文本的大小会增加,因此 ToolButton 会相应地收缩或拉伸。如何预先计算按钮内文本的正确固定大小?

标签: qtqml

解决方案


为此,您可以使用FontMetrics QML 类型。使用与文本相同的字体和样式设置FontMetrics对象,然后调用实例的适当方法,FontMetrics例如boundingRectortightBoundingRect并根据结果调整按钮的大小。

如果您只想将 ToolButton 保持在可以包含普通和粗体字体而不自动调整大小的固定大小,您可以使用FontMetrics实例获取粗体文本的大小并相应地设置按钮大小。

为方便起见,您还可以使用TextMetrics QML 类型。优点是boundingRectandtightBoundingRect是属性,您可以绑定到它们。

后者更适合您的用例。


推荐阅读