我一直在尝试使用QFont、QFontMetrics或类似的工具来改变字体文件的行间距默认值。我正在使用QPainter::drawText在一个矩形框内绘制一些文本。
奇怪的是,QFont允许更改字体字距甚至具有一些拉伸操作和字母间距,但没有任何方法可以更改默认行间距。我已经搜索并找到了一些使用QTextLayout的部分解决方案,但似乎都不能正常工作。
我需要使用QPainter,因为我要用OpenGL生成带有文本的纹理。
寻找更多可尝试的想法!
更新
我发现可以使用
奇怪的是,QFont允许更改字体字距甚至具有一些拉伸操作和字母间距,但没有任何方法可以更改默认行间距。我已经搜索并找到了一些使用QTextLayout的部分解决方案,但似乎都不能正常工作。
我需要使用QPainter,因为我要用OpenGL生成带有文本的纹理。
寻找更多可尝试的想法!
更新
我发现可以使用
QPainter
绘制 QStaticText
,这允许使用 HTML 文本格式,类似于 QTextDocument
。然而,CSS 样式不像在 QTextDocument
中那样工作(有一个错误报告)... 因此仍然没有行间距,但我希望这能让我走上正确的道路。
已解决
我使用 Mykhaylo 建议的 QTextDocument
得到了我想要的结果。解决方案链接