QPlainTextEdit - 绝对大小
QPlainTextEdit - absolute size
我需要获取 QPlainTextEdit
的绝对高度,就好像它不在 QAbstractScrollArea
中一样。我已经花了大约一个小时才找到它。我搜索了 QPlainTextEdit
、QTextDocument
和 QAbstractScrollArea
,尝试了名称中包含大小的每个属性。
我希望除了将 blockCount()
乘以 blockBoundingRect(firstVisibleBlock()).height()
并添加到内容偏移量之外还有其他方法。 (块大小相同。)
提前致谢。
我想这就是您要找的:http://qt-project.org/forums/viewreply/21633/
QScrollArea
有视口。 Viewport 是可视区域的大小。因此,如果您的 QScrollArea
被命名为 foo
,您需要这样做:
foo.viewport().size();
哪个 return 是您想要的 QSize
。
您可以在派生的 class:
中这样做
int TextEditor::contentHeight() const
{
return contentOffset().y() + fontMetrics().lineSpacing() * blockCount();
}
我需要获取 QPlainTextEdit
的绝对高度,就好像它不在 QAbstractScrollArea
中一样。我已经花了大约一个小时才找到它。我搜索了 QPlainTextEdit
、QTextDocument
和 QAbstractScrollArea
,尝试了名称中包含大小的每个属性。
我希望除了将 blockCount()
乘以 blockBoundingRect(firstVisibleBlock()).height()
并添加到内容偏移量之外还有其他方法。 (块大小相同。)
提前致谢。
我想这就是您要找的:http://qt-project.org/forums/viewreply/21633/
QScrollArea
有视口。 Viewport 是可视区域的大小。因此,如果您的 QScrollArea
被命名为 foo
,您需要这样做:
foo.viewport().size();
哪个 return 是您想要的 QSize
。
您可以在派生的 class:
中这样做int TextEditor::contentHeight() const
{
return contentOffset().y() + fontMetrics().lineSpacing() * blockCount();
}