防止QLabel使用大字进行水平扩展

时间:2014-07-09 08:55:14

标签: c++ qt

我目前有类似的东西

QLabel* l = new QLabel(this);
l->setTextFormat(Qt::RichText);
l->set_IsSelf(IsSelf);
l->setWordWrap(true);
l->setText("Thissssssssssssssssssssssssssssssss"); 
l->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum);
l->setMaximumWidth(40);

现在我意识到宽度非常小,没关系。我想要的是显示所有内容并使其垂直扩展。

1 个答案:

答案 0 :(得分:1)

您应该在布局中插入标签,并将其尺寸限制设置为QLayout::SetMinimumSize,并将标签的垂直尺寸政策设置为QSizePolicy::MinimumExpanding

QVBoxLayout *layout = new QVBoxLayout(this);
layout->setSizeConstraint(QLayout::SetMinimumSize);

QLabel* l = new QLabel;
l->setWordWrap(true);
l->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);

layout->addWidget(l);