2012-10-18 24 views
4

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

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

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

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

回答

6

我测试这一点,调整窗口大小本身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_() 
+0

谢谢!这是** resize **方法来扩大浏览器的大小。当我研究使用** QWebView **时,我没有研究** QWebView **继承的** QWidget **的用法。 – flyer

相关问题