def __init__(self, networkAccessManager, uin, gtk, config): super(Control, self).__init__() self.errorLogPath = "error.txt" self.workFinished = True self.__config = config self.config = config.get(uin) self.uin = uin self.gtk = gtk self.page = QtWebKit.QWebPage() self.webFrame = self.page.mainFrame() self.running = False self.networkAccessManager = networkAccessManager # self.networkAccessManager = QtNetwork.QNetworkAccessManager(self) # self.cookieJar = cookieJar # self.networkAccessManager.setCookieJar(self.cookieJar) self.existFeeds = [] self.doLike = self.config.get("doLike", 1) # 是否点赞 self.doComment = self.config.get("doComment", 1) # 是否评论 self.doTime = 10 # 此时间内的动态将进行操作 self.interval = 1 self.commentContentList = self.config.get("commentContentList", self.defaultCommentList) # self.moveToThread(self) self.doSignal.connect(self.getNewFeeds) self.restartSignal.connect(self.restart)
def loadPage(url): page = QtWebKit.QWebPage() loop = QtCore.QEventLoop() # Create event loop page.mainFrame().loadFinished.connect( loop.quit) # Connect loadFinished to loop quit page.mainFrame().load(QtCore.QUrl(url)) loop.exec_() # Run event loop, it will end on loadFinished return page.mainFrame().toHtml()
def __init__(self, url, dest): QObject.__init__(self) self.dest = dest self.page = QtWebKit.QWebPage(self) self.mainFrame = self.page.mainFrame() self.mainFrame.load(QUrl(url)) self.connect(self.page, SIGNAL("loadProgress(int)"), self.loadProgress) self.connect(self.page, SIGNAL("loadFinished(bool)"), self.renderPDF)
def __init__(self): super(FrameCapture, self).__init__() self._percent = 0 self._page = QtWebKit.QWebPage() self._page.mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff) self._page.mainFrame().setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff) self._page.loadProgress.connect(self.printProgress) self._page.loadFinished.connect(self.saveResult)
def check_available(self): """ Check the availability of the media player. :return: boolean. True if available """ web = QtWebKit.QWebPage() # This script should return '[object HTMLVideoElement]' if the html5 video is available in webkit. Otherwise it # should return '[object HTMLUnknownElement]' return web.mainFrame().evaluateJavaScript( "Object.prototype.toString.call(document.createElement('video'));" ) == '[object HTMLVideoElement]'
def __init__(self, parent=None): QtWebKit.QWebView.__init__(self, parent) page = RWebPage(self) self.setPage(page) self.systemOpenView = RSystemOpenView(self) self.systemOpenView.hide() self.userAgent = QtWebKit.QWebPage().userAgentForUrl( QtCore.QUrl("about:blank")) self.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks) self.settings().setAttribute( QtWebKit.QWebSettings.PrivateBrowsingEnabled, True) self.page().linkClicked.connect(self.openLink)
def capture(self): """Captures url as an image to the file specified""" self.wb = QtWebKit.QWebPage() self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff) self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff) self.wb.loadFinished.connect(self.loadFinishedSlot) self.wb.mainFrame().initialLayoutCompleted.connect( self.initialLayoutSlot) self.wb.mainFrame().load(QtCore.QUrl(self.url))
def __init__(self, url='', filename='kde.png'): super(Capturer, self).__init__() self.url = url self.filename = filename self.saw_initial_layout = False self.saw_document_complete = False self.wb = QtWebKit.QWebPage() self.wb.loadFinished.connect(self.loadFinishedSlot) self.wb.mainFrame().initialLayoutCompleted.connect( self.initialLayoutSlot) self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff) self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff)
def capture(self): """Captures url as an image to the file specified""" self.wb = QtWebKit.QWebPage() self.network_manager = QtNetwork.QNetworkAccessManager() self.network_manager.sslErrors.connect(self.on_ssl_errors) self.wb.setNetworkAccessManager(self.network_manager) self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff) self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff) self.wb.loadFinished.connect(self.loadFinishedSlot) self.wb.mainFrame().initialLayoutCompleted.connect( self.initialLayoutSlot) self.wb.mainFrame().load(QtCore.QUrl(self.url))
def capture(self, html_str): logger.info('1') self.wb = QtWebKit.QWebPage() self.wb.loadFinished.connect(self.loadFinishedSlot) self.wb.mainFrame().initialLayoutCompleted.connect( self.initialLayoutSlot) self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff) self.wb.mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff) logger.info('2') self.wb.mainFrame().setHtml(html_str) logger.info('3') # self.ready_trigger.connect(self.loop.exit) # self.loop.exec_() while not (self.saw_initial_layout and self.saw_document_complete): self.loop.processEvents() logger.info('4') self.saw_initial_layout = False self.saw_document_complete = False logger.info('5') self.wb.setViewportSize(self.wb.mainFrame().contentsSize()) img = QtGui.QImage(self.wb.viewportSize(), QtGui.QImage.Format_ARGB32) painter = QtGui.QPainter(img) self.wb.mainFrame().render(painter) painter.end() logger.info('6') data = QtCore.QByteArray() buf = QtCore.QBuffer(data) img.save(buf, 'PNG') logger.info('7') file_like = cStringIO.StringIO(data.data()) pil_img = Image.open(file_like) tempfile_io = StringIO.StringIO() pil_img.save(tempfile_io, format='PNG') logger.info('8') tb_image = ThebloqImage() tb_image.file = InMemoryUploadedFile(tempfile_io, None, 'order_point_img.png', 'image/png', tempfile_io.len, None) tb_image.save() logger.info('9') return tb_image
def get_code(url, size=(640, 480), title="Google authentication"): """Open a QT webkit window and return the access code.""" app = QtGui.QApplication([]) dialog = QtGui.QDialog() dialog.setWindowTitle(title) dialog.resize(*size) webview = QtWebKit.QWebView() webpage = QtWebKit.QWebPage() webview.setPage(webpage) webpage.loadFinished.connect( lambda: _on_qt_page_load_finished(dialog, webview)) webview.setUrl(QtCore.QUrl.fromEncoded(url)) layout = QtGui.QGridLayout() layout.addWidget(webview) dialog.setLayout(layout) dialog.authorization_code = None dialog.show() app.exec_() return dialog.authorization_code
def SetupUI(self): uic.loadUi('res/tab.ui',self) self.WEB_page = QtWebKit.QWebPage(self.Message_Webkit) self.groupBox_ConnStat.hide() self.Message_Webkit.setPage(self.WEB_page) self.WEB_page.connect(self.WEB_page, QtCore.SIGNAL("linkClicked(QUrl)"), self.WEB_LinkClicked ) self.WEB_page.setLinkDelegationPolicy(self.WEB_page.DelegateAllLinks) self.Message_Webkit.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.connect(self.Message_Webkit, QtCore.SIGNAL('customContextMenuRequested ( const QPoint & )'), lambda p: self.Message_Webkit_MenuRequested(p,self.Message_Webkit)) self.Input.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.connect(self.Input, QtCore.SIGNAL('customContextMenuRequested ( const QPoint & )'), lambda p: self.Input_MenuRequested(p,self.Input)) #QtWebKit.QWebPage().OpenImageInNewWindow #QtWebKit.QWebPage().OpenLink #QtWebKit.QWebView(). ''' QWebView *view = QWebView(NULL); view->page->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); /* Другие значения аргумента - QWebPage::DontDelegateLinks и QWebPage::DelegateExternalLink. QWebPage::DelegateAllLinks заставляет вместо того, чтобы открывать ссылки выдавать сигнал linkClicked(QUrl) */ connect(view,SIGNAL(linkClicked(QUrl)),this,SLOT(openLink(QUrl))); ''' self.font_Input = QtGui.QFont() self.font_Input.setFamily("Droid Sans") self.font_Input.setPointSize(14) self.Input.setFont(self.font_Input) self.WEB_page.mainFrame().setHtml(WebKitStyle.Build()) self.groupBox_OnConnected.hide() self.groupBox_captcha.hide() self.connect(self.Button_Connect, QtCore.SIGNAL("clicked()"), self.conn_Start_parr ) self.connect(self.ButtonSend, QtCore.SIGNAL("clicked()"),self.SendMessage) self.connect(self.Button_CaptchaOK, QtCore.SIGNAL("clicked()"), self.SendCaptcha) self.connect(self.Button_Disconnect, QtCore.SIGNAL("clicked()"), self.conn_Stop) self.connect(self.ButtonClear, QtCore.SIGNAL("clicked()"), self.MessagesClear) def SwitchMiniStyle(b): if b: self.groupBox_OnConnected.hide() self.widget_Bottom.hide() else: if self.isConnected: self.groupBox_OnConnected.show() self.widget_Bottom.show() self.connect(G['chat_win'], QtCore.SIGNAL("SwitchMiniStyle(bool)"),SwitchMiniStyle) def _SetMessageLen(): msg_len = self.Input.toPlainText().length() if msg_len: if self.checkBox_Name.isChecked(): msg_len += self.lineEdit_Name.text().length() if msg_len > 255: self.ButtonSend.setText('Send (%s) Too long!!' % (msg_len)) else: self.ButtonSend.setText('Send (%s)' % (msg_len)) else: self.ButtonSend.setText('Send') self.connect(self.Input, QtCore.SIGNAL("textChanged()"), _SetMessageLen) self.lineEdit_Captcha.installEventFilter(self) self.Input.installEventFilter(self) self.installEventFilter(self)