最近用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/