qt - 更改为粗体时 QML 计算文本空间
问题描述
我有一个自定义工具按钮,当检查时字体变为粗体。发生这种情况时,文本的大小会增加,因此 ToolButton 会相应地收缩或拉伸。如何预先计算按钮内文本的正确固定大小?
解决方案
为此,您可以使用FontMetrics QML 类型。使用与文本相同的字体和样式设置FontMetrics
对象,然后调用实例的适当方法,FontMetrics
例如boundingRect
ortightBoundingRect
并根据结果调整按钮的大小。
如果您只想将 ToolButton 保持在可以包含普通和粗体字体而不自动调整大小的固定大小,您可以使用FontMetrics
实例获取粗体文本的大小并相应地设置按钮大小。
为方便起见,您还可以使用TextMetrics QML 类型。优点是boundingRect
andtightBoundingRect
是属性,您可以绑定到它们。
后者更适合您的用例。
推荐阅读
- keras - 将简单的 cnn 从 keras 转换为 pytorch
- python - 找不到键盘映射“Windows 正确重做”
- azure-databricks - Azure Databricks 群集本地存储最大大小
- java - 为什么我的 return 语句不会打印字符串?
- scala - Spark SQL在列中查找最小值并获取整行
- javascript - 滚动后如何使透明导航栏具有背景色?
- pytorch - 针对 CrossEntropyLoss 的 PyTorch LogSoftmax 与 Softmax
- javascript - 在同一位置的多个元素上传播单击事件但没有父子关系
- html - VBA 试图浏览网页 IE
- design-patterns - 设置、获取和计算数据的类是否遵循 SOLID 中的 S?