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

标签 python pyqt4 qtwebkit

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

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

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

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

最佳答案

我对此进行了测试,在发出 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_()

关于python - 如何使用QtWebKit设置浏览器的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12948889/

相关文章:

python - django - 从一个文件调用函数到另一个文件

python - 带有 POST 的 flask 示例

python - 连接池耗尽 psycopg2

python - 如何在Python PyQt4中设置现有MainWidnow的中央小部件?

python - 从 QtWebKit.webView 打印网页到 pdf PyQt4

qt - 在 Windows 上构建 PhantomJS 2.0 会导致奇怪的错误

python - 不要在最后一个位置参数之后解析选项

python - 从 QTreeWidget 的子 Qtable 获取内容

layout - pyuic4 生成错误的布局?

python - QtWebkit 和 hasPendingEvents() 始终为 True