我需要获得QPlainTextEdit
的绝对高度,就好像它不在QAbstractScrollArea
中一样。我已经花了大约一个小时才发现它。我搜索了QPlainTextEdit
,QTextDocument
和QAbstractScrollArea
,尝试了每个名称大小的媒体。
除了将blockCount()
乘以blockBoundingRect(firstVisibleBlock()).height()
并添加到内容偏移量之外,我希望还有其他方法。 (块大小相同。)
提前谢谢。
答案 0 :(得分:0)
我认为这正是您所寻找的:http://qt-project.org/forums/viewreply/21633/
QScrollArea
有一个视口。视口是可视区域的大小。因此,如果您的QScrollArea
被命名为foo
,那么您将要执行此操作:
foo.viewport().size();
这将返回您想要的QSize
。
答案 1 :(得分:0)
您可以在派生类中执行此操作:
int TextEditor::contentHeight() const
{
return contentOffset().y() + fontMetrics().lineSpacing() * blockCount();
}