3
スクレイプデータ用のマルチスレッドを使用して複数のQWebviewを実行したい。しかし、qwebviewを使ってスレッドをどのように実装するのか分かりません。ここで私はいくつかのコードを書いています:Qwebview with python qt
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
from PyQt4.QtNetwork import *
from PyQt4 import QtCore, QtGui
from lxml import etree,html
from PyQt4.QtCore import Qt
import sys
class Form(QWidget):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
self.setMouseTracking(True)
vbox = QVBoxLayout()
self.browser = QWebView()
self.browser.connect(self.browser,SIGNAL('loadFinished(bool)'),self.loadFinished)
#vbox.addWidget(self.browser)
self.browser.load(QtCore.QUrl("http://www.google.com"))
self.browser_tabs = QTabWidget()
self.browser_tabs.setTabPosition(QTabWidget.South)
b1_tab = QWidget()
d = QHBoxLayout()
d.addWidget(self.browser)
b1_tab.setLayout(d)
self.browser_tabs.addTab(b1_tab,"browser0")
vbox.addWidget(self.browser_tabs)
self.setLayout(vbox)
def loadFinished(self,ok):
print ok
def main():
app = QApplication(sys.argv)
ex = Form()
ex.show()
ex.setGeometry(150, 100, 1024, 770)
#ex.showMaximized()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
開いている複数のブラウザのタブウィジェットを使用することができます。
ご回答ありがとうございます。可能であれば、完全なコードを書くことができますか? – Piyush
私は十分書いたと思います。私はデータのスクレイピングについてあまり知らないので、私はその部分を書いていません。すみません、お手伝いできません。 – okorkut
@okorkut。あなたのコードがうまく動作しないのではないかと心配しています。すべてのGUI操作**はメインスレッドで行わなければなりません**。 – ekhumoro