QLabel 自适应大小自动换行

之前在网上查找了截断文字自动换行的方法:

//让QLabel能够自动判断并换行显示:
QLable *nameLabel = new QLabel( this );
LabelName->setGeometry(QRect(328, 240, 329, 27*4));  //四倍行距
LabelName->setWordWrap(true);
LabelName->setAlignment(Qt::AlignTop);

但该方法相当于指定了label的宽度和高度,无法自适应更改,遂查找了另一种方法实现,亲测好用!

QLable *nameLabel = new QLabel( this );
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(nameLabel->sizePolicy().hasHeightForWidth());
nameLabel->setSizePolicy(sizePolicy);
nameLabel->setWordWrap(true);

 

你可能感兴趣的:(QT)