如何使用 QtWebKit 设置浏览器的大小 [英] How to set the size of browser using QtWebKit

查看:118
本文介绍了如何使用 QtWebKit 设置浏览器的大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Recently I use PyQt4 to crawl some web pages. I want to set different size of the browser which is generated by QWebView().show(). I tried to use the following code snippet to set the size:

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

但浏览器显示的大小始终相同.

But the browser displayed is always the same size.

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

Please give me some tips on how to set the size of the browser displayed by QWebView. Thanks in advance.

推荐答案

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

I tested this, the window resizes itself after loadFinished is emitted:

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_()

这篇关于如何使用 QtWebKit 设置浏览器的大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆