【发布时间】:2015-04-28 11:02:19
【问题描述】:
我一直在尝试找到一种方法来更改字体文件的行间距默认值,使用QFont、QFontMetrics 或类似的东西。我正在使用QPainter::drawText 在边界矩形中绘制一些文本。
奇怪的是QFont 允许更改字距,甚至有一些拉伸操作和字母间距,但没有改变行之间的默认间距。我已经搜索并找到了一些使用 QTextLayout 的部分解决方案,但似乎没有一个可以正常工作。
我需要使用QPainter,因为我使用要使用 OpenGL 渲染的文本生成纹理。
寻找更多想法让我尝试!
更新
我发现我可以使用QPainter 来绘制允许HTML 文本格式的QStaticText,类似于QTextDocument。然而,CSS 样式不像QTextDocument 那样工作(有一个bug report)......因此仍然没有领先,但我希望这能让我走上正轨。
已解决
正如 Mykhaylo 建议的那样,我使用 QTextDocument 得到了我想要的东西。 Link to solution
【问题讨论】:
标签: c++ qt fonts spacing fontmetrics