QLabel 内容长度超过控件本身长度时超出的部分用省略号

void JunEditableLabel::setText(const QString &string)

{  
       QFont font("Tahoma");
       font.setPixelSize(13);
       this->setFont(font);
       QFontMetrics fontMetrics(this->font());
       int fontSize = fontMetrics.width(string);//获取之前设置的字符串的像素大小
       QString str = string;
       if(fontSize > this->width())
       {
           str = fontMetrics.elidedText(string, Qt::ElideRight, this->width());//返回一个带有省略号的字符串
       }
       QLabel::setText(str);
    qDebug()<<"setText"<<this->text();
}
posted @ 2017-02-06 12:05  Andy5020  阅读(5377)  评论(0编辑  收藏  举报