如何使用 QtWebKit 设置浏览器的大小

Posted

技术标签:

【中文标题】如何使用 QtWebKit 设置浏览器的大小【英文标题】:How to set the size of browser using QtWebKit 【发布时间】:2012-10-18 07:04:51 【问题描述】:

最近使用 PyQt4 爬取了一些网页。我想设置由QWebView().show() 生成的不同大小的浏览器。我尝试使用以下代码 sn -p 来设置大小:

self.qsize = QWebPage().viewportSize()
self.qsize.setHeight(3000)
self.qsize.setWidth(1000)
print self.qsize.height()
print self.qsize.width()

但是显示的浏览器总是一样的大小。

请给我一些关于如何设置QWebView显示的浏览器大小的提示。提前致谢。

【问题讨论】:

【参考方案1】:

我对此进行了测试,发出 loadFinished 后窗口会自行调整大小:

import sys 
from PySide.QtCore import QUrl, QSize
from PySide.QtGui import QApplication, QMainWindow, QWidget
from PySide.QtWebKit import QWebView


class Browser(QMainWindow):

    def __init__(self):
        QMainWindow.__init__(self)
        self.resize(300, 300)
        self.web_view = QWebView()
        self.setCentralWidget(self.web_view)

        self.web_view.loadFinished.connect(self._load_finished)

    def _load_finished(self):
        frame = self.web_view.page().mainFrame()
        self.web_view.page().setViewportSize(frame.contentsSize())
        self.resize(frame.contentsSize())
        html_data = frame.toHtml()


if __name__ == '__main__': 
    app = QApplication(sys.argv) 
    browser = Browser() 
    r = QUrl("http://www.yahoo.com")
    browser.web_view.load(r)
    browser.show()
    app.exec_()

【讨论】:

谢谢!放大浏览器大小是 resize 方法。我在研究QWebView的使用时,并没有研究QWebView继承自QWidget的使用。

以上是关于如何使用 QtWebKit 设置浏览器的大小的主要内容,如果未能解决你的问题,请参考以下文章

基于 QtWebKit 的浏览器的虚拟键盘或如何获取当前聚焦的文本字段?

在 QtWebkit 中,如何调用网页的 QNetworkAccessManager::createRequest()?

如何阻止 QHttp/QtWebKit 缓存页面

设置qt插件路径

css文件 如何使背景图片大小适应div的大小

QtWebkit:如何跟踪/修改 HTTP 请求?