我有QScrollArea,它有QVBoxLayout,我放置小部件,其中一个是QTextBrowser,我想让QTextBrowser具有其内容的大小并删除其滚动条 . 我继承了QTextBrowser,更改了sizePolicy,隐藏了滚动条并覆盖了sizeHint(),如下所示:
TextBrowserWidget::TextBrowserWidget(QWidget* parent)
: QTextBrowser(parent)
{
setSizePolicy(
QSizePolicy::Preferred,
QSizePolicy::Minimum);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
}
QSize TextBrowserWidget::sizeHint() const
{
if (document()) {
auto docSize = document()->size();
return QSize(docSize.width(), docSize.height() + 10);
} else
return QTextBrowser::sizeHint();
}
但这有效延迟,第一个小部件变小,1-2秒后变大 . 我不确定这是不是很好的解决方案 . 做正确的方法是什么?
1 回答