计算文字宽度,文字过长时省略号显示
QFont font(qApp->font().family());
font.setBold(true);
font.setPixelSize(36);
int maxLength = 400;
QString str = "字太多显示不全字太多省略左边部分";
QFontMetrics fontMetrics(font);
int textWidth = fontMetrics.width(str);
if(textWidth > maxLength)
{
str = QFontMetrics(font).elidedText(str, Qt::ElideLeft, maxLength);
}
ui->label->setFont(font);
ui->label->setText(str);
1.QFontMetrics(font).elidedText(str, Qt::ElideLeft, maxLength);
2.QFontMetrics(font).elidedText(str, Qt::ElideMiddle, maxLength); 省略中间部分
3. QFontMetrics(font).elidedText(str, Qt::ElideRight, maxLength);