QLabel 中的图形故障(显示剪裁的字符)

Graphics glitch in QLabel (showing clipped character)

提问人:Martin Denion 提问时间:6/2/2023 最后编辑:cigienMartin Denion 更新时间:6/2/2023 访问量:29

问:

我正在开发一个在Linux目标上运行的Qt应用程序(Qt 4.8版本)。 此应用程序使用 QLabel 来显示一些值(例如小时表)。 的大小因要显示的值而异。QLabel

问题是有时最后一个字符会出现故障。 我不知道如何重现它。QLabel

enter image description here

以下是管理此问题的代码部分:QLabel

QFont DigitsFont;
DigitsFont.setPixelSize(48);
DigitsFont.setFamily("SquareRoundMono");

QLabel * lblValue = new QLabel(this);
lblValue->setFont(DigitsFont);

float tmpReal = externalValue;
tmpReal /= 3600; //seconds converted to hours

// Saturate to 99999.9h if horameter goes higher
if(tmpReal > 99999.9f)
{
    tmpReal = 99999.9f;
    DigitsFont.setPixelSize(36);
}
else if(tmpReal > 9999.9f)
    DigitsFont.setPixelSize(36);
else if(tmpReal > 999.9f)
    DigitsFont.setPixelSize(43);
else
    DigitsFont.setPixelSize(48);

lblValue->setFont(DigitsFont);
lblValue->setText(tmpStr.setNum(tmpReal,'f',1));

似乎使用这种特定字体来玩 a 的大小和值会导致这种错误。QLabel

你对解决这个问题有什么建议吗?

C ++11 QLABEL QT4.8

评论


答: 暂无答案