PyQt Most simple browser
#encoding:utf-8 import sys from PyQt4 import QtGui,QtWebKit,QtCore class Example(QtGui.QWidget): def __init__(self, parent=None): super(Example, self).__init__(parent) self.resize(150, 150) self.setWindowTitle("msb") self.web = QtWebKit.QWebView(self) self.web.load(QtCore.QUrl("http://google.com")) #self.web.setUrl(QtCore.QUrl("http://google.com")) #代替になると書かれているけどどこかに差があったりするのかな self.show() def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
最も簡素なモノ
#encoding:utf-8 import sys from PyQt4 import QtGui,QtWebKit,QtCore class Example(QtGui.QWidget): def __init__(self, parent=None): super(Example, self).__init__(parent) self.setAcceptDrops(True) self.resize(150, 150) self.setWindowTitle("msb") self.layout = QtGui.QHBoxLayout(self) self.web = QtWebKit.QWebView() self.web.load(QtCore.QUrl("http://google.com")) #self.web.setUrl(QtCore.QUrl("http://google.com")) #代替になると書かれているけどどこかに差があったりするのかな self.web.settings().setAttribute( QtWebKit.QWebSettings.DeveloperExtrasEnabled,True) self.inspector = QtWebKit.QWebInspector() self.layout.addWidget(self.web) self.layout.addWidget(self.inspector) self.inspector.setPage(self.web.page()) self.show() def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
Firebugっぽいあれを付けれる。
ここでのポイントはself.web.settings().setAttribute(QtWebKit.QWebSettings.DeveloperExtrasEnabled,True)の書き方
#encoding:utf-8 import sys from see import see from PyQt4 import QtGui,QtWebKit,QtCore class Example(QtGui.QWidget): def __init__(self, parent=None): super(Example, self).__init__(parent) self.resize(150, 150) self.layout = QtGui.QHBoxLayout(self) self.web = QtWebKit.QWebView() self.inspector = QtWebKit.QWebInspector() self.web.settings().setAttribute(QtWebKit.QWebSettings.DeveloperExtrasEnabled,True) self.web.load(QtCore.QUrl("http://google.com")) self.web.titleChanged.connect(self.titleChange) self.layout.addWidget(self.inspector) self.layout.addWidget(self.web) self.inspector.setPage(self.web.page()) self.setWindowTitle("msb:"+self.web.title()) self.show() def titleChange(self,e): self.setWindowTitle("msb:"+self.web.title()) def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
サイトのタイトルをウィンドウのタイトルに載せるようにした。Signal練習。
titleChangedをurlChangedに帰ると動かない。理由がわからない。。