2012-10-18 52 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

相關問題