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


Python QRegExp.decode方法代码示例

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


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

示例1: highlightBlock

# 需要导入模块: from PyQt5.QtCore import QRegExp [as 别名]
# 或者: from PyQt5.QtCore.QRegExp import decode [as 别名]

#.........这里部分代码省略.........
                self.setFormat(r.pos(1), len(r.cap(1)), op)
                self.setFormat(r.pos(3), len(r.cap(3)), op)

        # Areas: comment, code, raw tagged
        for (begins, middle, ends) in [
            (State.COMMENT_AREA_BEGINS, State.COMMENT_AREA, State.COMMENT_AREA_ENDS),
            (State.CODE_AREA_BEGINS, State.CODE_AREA, State.CODE_AREA_ENDS),
            (State.RAW_AREA_BEGINS, State.RAW_AREA, State.RAW_AREA_ENDS),
            (State.TAGGED_AREA_BEGINS, State.TAGGED_AREA, State.TAGGED_AREA_ENDS),
        ]:

            if state == middle:
                self.setFormat(0, len(text), self.style.format(middle))
            elif state in [begins, ends]:
                self.setFormat(0, len(text), op)

        # Inline formatting
        if state not in [
            # State.COMMENT_AREA,
            # State.COMMENT_LINE,
            State.RAW_AREA,
            State.RAW_LINE,
            State.CODE_AREA,
            State.CODE_LINE,
            State.TAGGED_AREA,
            State.TAGGED_LINE,
            State.SETTINGS_LINE,
            State.HORIZONTAL_LINE,
        ] and state not in State.TITLES:
            formatArray = textToFormatArray(text)

            # InDocRules
            for (r, c) in self.inDocRules:
                i = re.finditer(r.decode('utf8'), text, re.UNICODE)
                for m in i:
                    f = self.format(m.start())
                    l = m.end() - m.start()
                    if "," in c:
                        c1, c2 = c.split(",")
                        self.setFormat(m.start(), l,
                                       self.style.makeFormat(color=c1, bgcolor=c2, base=f))
                    else:
                        self.setFormat(m.start(), l,
                                       self.style.makeFormat(color=c, base=f))

            # Links 
            if state not in [State.COMMENT_LINE, State.COMMENT_AREA]:
                r = QRegExp(r'\[(\[[^\]]*\])?[^\]]*\s*([^\s]+)\]')
                r.setMinimal(False)
                pos = r.indexIn(text)
                links = []
                while pos >= 0:
                    # TODO: The text should not be formatted if [**not bold**]
                    # if max([k[pos] for k in formatArray]) == 0 or 1 == 1:
                    self.setFormat(pos, 1,
                                   self.style.format(State.MARKUP))
                    self.setFormat(pos + 1, len(r.cap(0)) - 1,
                                   self.style.format(State.LINKS))
                    self.setFormat(pos + len(r.cap(0)) - 1, 1,
                                   self.style.format(State.MARKUP))
                    if r.pos(2) > 0:
                        _f = QTextCharFormat(self.style.format(State.LINKS))
                        _f.setForeground(QBrush(_f.foreground()
                                                .color().lighter()))
                        _f.setFontUnderline(True)
                        self.setFormat(r.pos(2), len(r.cap(2)), _f)
开发者ID:georgehank,项目名称:manuskript,代码行数:70,代码来源:t2tHighlighter.py


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