QTextDocument (и QTextEdit) не обновляют их размер? - PullRequest
0 голосов
/ 02 марта 2012

Я создал QTextEdit, который инициализируется пустым, после этого выполняется следующий код (TE является указателем на textedit):

    TE->setText( "this is a test string, it should have a non zero height");
    auto d(TE->document());
    auto s(d->toPlainText());
    auto _s(d->size());
    auto _h(_s.height());

Через отладку я вижу, что строка s установлена ​​правильно. Однако размер _s просто равен 0. Почему и как это исправить. Разве это не должно работать везде и в любом месте? Я также попытался добавить строку TE->show() на случай, если изменение размера происходит только при отображении виджета, но безрезультатно. Что вызывает это?

1 Ответ

1 голос
/ 02 марта 2012

Изменение текста в документе не меняет ширину документа.Из документов для QTextDocument.

Размер документа можно изменить, установив ширину текста или установив весь размер страницы.

Возможно, вызов d->AdjustSize () приведет вас туда, где вы хотите быть?Однако обратите внимание, что изменение размера документа не изменит размер виджета QTextEdit.

...