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