【发布时间】:2012-08-31 23:58:13
【问题描述】:
我想让 QWebView 看起来扩展到宽度和高度,以便理想情况下它不会有滚动条。有些网站可能有固定的宽度,不允许这样做,但我不关心这些。无论如何,我不能如愿以偿,因为 QWebView 实现 sizeHint 如下:
QSize QWebView::sizeHint() const
{
return QSize(800, 600); // ####...
}
这在很多层面上都是不正确的。 1.根本没有考虑实际网页的大小。 2.没有考虑高度和宽度是相互关联的。 (为了证明 #2 考虑换行到下一行的网页中的文本。)
作为一个简单的修复,我尝试做(QResizingWebView 扩展 QWebView):
QSize QResizingWebView::sizeHint() const{
return this->page()->mainFrame()->contentsSize();
}
虽然这更接近结果,但它也有 2 个缺陷。 1. 没有考虑显示的宽/高之间的关系。 2. this->page()->mainFrame()->contentsSize() 从我的初步测试中可以看出是不准确的(它返回的高度在许多情况下都大于它应该的高度,尽管这可能与#1 有关)。
有人有解决此问题的提示吗?
【问题讨论】: