当前位置: 首页>>代码示例>>Python>>正文


Python QWebView.findText方法代码示例

本文整理汇总了Python中PySide.QtWebKit.QWebView.findText方法的典型用法代码示例。如果您正苦于以下问题:Python QWebView.findText方法的具体用法?Python QWebView.findText怎么用?Python QWebView.findText使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PySide.QtWebKit.QWebView的用法示例。


在下文中一共展示了QWebView.findText方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: ViewerEditor

# 需要导入模块: from PySide.QtWebKit import QWebView [as 别名]
# 或者: from PySide.QtWebKit.QWebView import findText [as 别名]
class ViewerEditor(QStackedWidget):

    def __init__(self, parentWindow):
        QStackedWidget.__init__(self)
        self.__parentWindow= parentWindow
        self.__note= Note()

        self.__webNote= QWebView()
        webPage= self.__webNote.page()
        webPage.settings().setObjectCacheCapacities(0, 0, 0)
        webPage.action(QWebPage.Reload).setVisible(False)
        webPage.networkAccessManager().proxyAuthenticationRequired.connect(self.__onProxyAuthenticationRequired)
        self.updateProxy()
        self.__webNote.loadFinished.connect(self.updateHighlight)
        self.addWidget(self.__webNote)

        self.__editorNote= Editor(parentWindow, self.__onConfirm, self.__onCancel)
        self.addWidget(self.__editorNote)

    def noteUuid(self):
        return self.__note.uuid

    def view(self, note):
        self.__parentWindow.clearError()
        self.setCurrentIndex(0)
        self.__webNote.setHtml(note.html, rc.url())
        self.__note= note

    def edit(self, note=None):
        self.__parentWindow.clearError()
        if note:
            self.__note= note
        self.setCurrentIndex(1)
        self.__editorNote.edit(self.__note)

    def isAllowedToChange(self):
        return self.__editorNote.isAllowedToChange() if self.currentIndex() == 1 else True

    def updateProxy(self):
        config= self.__parentWindow.config()
        if config.getProxyHost():
            proxy= QNetworkProxy(QNetworkProxy.HttpProxy, config.getProxyHost(), config.getProxyPort())
        else:
            proxy= QNetworkProxy()
        self.__webNote.page().networkAccessManager().setProxy(proxy)

    def updateHighlight(self):
        if self.currentIndex() != 0:
            return
        self.__webNote.findText(None, QWebPage.HighlightAllOccurrences)
        highlight= self.__parentWindow.textFilter()
        if highlight:
            for word in filter(lambda w: len(w) > 0, highlight.split(" ")):
                self.__webNote.findText(word, QWebPage.HighlightAllOccurrences)

    def __onConfirm(self, note):
        parent= self.__parentWindow
        if not note.title:
            parent.showError("A title is required")
            raise ValidationError

        noteProvider= parent.noteProvider()
        if note.uuid:
            noteProvider.update(renderHtml(note))
        else:
            note.uuid= uuid()
            note.createdOn= note.lastModified
            noteProvider.add(renderHtml(note))
        self.__note= note
        parent.reload(True, True)
        parent.showStatus("Note saved")

    def __onCancel(self):
        self.view(self.__note)

    def __onProxyAuthenticationRequired(self, proxy, authenticator):
        config= self.__parentWindow.config()
        if config.getProxyUser():
            authenticator.setUser(config.getProxyUser())
            authenticator.setPassword(config.getProxyPassword())
开发者ID:vijo,项目名称:sqink,代码行数:82,代码来源:ui.py


注:本文中的PySide.QtWebKit.QWebView.findText方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。