QPlainTextEdit - 绝对大小

时间:2015-01-06 20:16:44

标签: c++ qt qplaintextedit

我需要获得QPlainTextEdit的绝对高度,就好像它不在QAbstractScrollArea中一样。我已经花了大约一个小时才发现它。我搜索了QPlainTextEditQTextDocumentQAbstractScrollArea,尝试了每个名称大小的媒体。

除了将blockCount()乘以blockBoundingRect(firstVisibleBlock()).height()并添加到内容偏移量之外,我希望还有其他方法。 (块大小相同。)

提前谢谢。

2 个答案:

答案 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();
}