Мне нужно получить абсолютную высоту QPlainTextEdit
как будто его нет в QAbstractScrollArea
, Я уже потратил около часа, чтобы выяснить это. Я искал QPlainTextEdit
, QTextDocument
а также QAbstractScrollArea
, пробовал каждое свойство с размером в его названии.
Я надеюсь, что есть другой способ, чем умножить blockCount()
от blockBoundingRect(firstVisibleBlock()).height()
и добавить к содержанию смещение. (Блоки одинакового размера.)
Заранее спасибо.
Я думаю, это то, что вы ищете: http://qt-project.org/forums/viewreply/21633/
QScrollArea
имеет видовой экран. Область просмотра — это размер видимой области. Так что если ваш QScrollArea
назван foo
вы захотите сделать это:
foo.viewport().size();
Который вернет вам желаемое QSize
,
Вы можете сделать это так в своем производном классе:
int TextEditor::contentHeight() const
{
return contentOffset().y() + fontMetrics().lineSpacing() * blockCount();
}