Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: voral от Октябрь 14, 2010, 23:41



Название: [Решено] QLabel::setWordWrap(true);
Отправлено: voral от Октябрь 14, 2010, 23:41
создаю форму
Код:
	this->laMain = new QVBoxLayout(this);
this->setLayout(this->laMain);
this->btClose = new QPushButton(tr("Close"));
this->laFooter = new QHBoxLayout();
this->laFooter->addStretch();
this->laFooter->addWidget(this->btClose);
this->laMain->addLayout(this->laFooter);
.....
this->text = new QTextBrowser();
this->lbInfo=new QLabel("f dhf ahsdkf hasdhf asdf laskdhf asd fkasd as daksd fkashd asd faskfjh");
// this->lbInfo->setFrameShape(QFrame::StyledPanel);
// this->lbInfo->setFrameShadow(QFrame::Sunken);
[b]this->lbInfo->setWordWrap(true);[/b]
this->laMain->insertWidget(0,this->text);
this->laMain->insertWidget(1,this->lbInfo);

Если включить перенос слов. То все элементы формы начинают ресайзиться до 0, если убрать выделенную строку. Форма уменьшается до минимальных размеров и все.

Как быть? Мне нужно отобразить текст заранее неизвестной длинны. Так, чтобы при изменениях рамеров формы он занимал всю ширину и растягивал содержащий его элемент по высоте?


Название: Re: QLabel::setWordWrap(true);
Отправлено: voral от Октябрь 15, 2010, 00:13
Нашел решение добавил/изменил вот это:
Код:
	this->lbInfo->setSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::MinimumExpanding);
....
this->laMain->insertWidget(0,this->text,1);
this->laMain->insertWidget(1,this->lbInfo,0);