QPainter 的 drawText 方法发现个 bug.
最小代码如下:
void Widget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QFont textFont = QFont(u8"宋体", 20, QFont::Bold);
painter.setFont(textFont);
QFontMetrics fm(textFont);
QString text1(u8"θ = 45° "), text2(u8"θ = 45°");
QRect br1 = fm.boundingRect(text1), br2 = fm.boundingRect(text2);
br1.translate(50, 50);
br2.translate(50, 100);
painter.drawText(br1, text1);
painter.drawText(br2, text2);
}
开发环境为 VS2017 + Qt5.14.2。 C++文件编码格式 UTF-8 BOM。
输出的结果如下,第二个字符串显示不全:

※ 修改:·dormouseBHU 于 Nov 7 21:54:14 2021 修改本文·[FROM: 120.244.156.*]
※ 来源:·水木社区
http://www.mysmth.net·[FROM: 120.244.156.*]
修改:dormouseBHU FROM 120.244.156.*
FROM 120.244.156.*