• 设置QLabel字符过度时,显示…
      1. #include <QFontMetrics>
      2. void STableWidgetItemDownload::setElidedTextToLabel(QLabel *lab, QString text)
      3. {
      4. QFont font = lab->font();
      5. QFontMetrics fm(font);
      6. int pixelW = fm.horizontalAdvance(text);
      7. if (pixelW > lab->width()) {
      8. QString str = fm.elidedText(text, Qt::ElideRight, lab->width());
      9. lab->setText(str);
      10. return;
      11. }
      12. lab->setText(text);
      13. }
    • 在界面被拉伸时,字符也会跟着变化:
      1. protected:
      2. void resizeEvent(QResizeEvent *event);
    1. void STableWidgetItemDownload::resizeEvent(QResizeEvent *event)
    2. {
    3. QWidget::resizeEvent(event);
    4. this->setElidedTextToLabel(ui->labelName, this->file->getPath());
    5. }