【问题标题】:Display styled json in wxpython在 wxpython 中显示样式化的 json
【发布时间】:2013-04-21 17:12:27
【问题描述】:

我有一个在 TextCtrl 中显示 json 的 wxpython 应用程序。如何使用 StyledTextCtrl 正确突出显示该 json? 只是单行更改还是更大?

顺便说一句,我创建了 jsyntaxpane,它是一个衬里来突出几种语言。太糟糕了,我现在需要 wxPython。

【问题讨论】:

    标签: python wxpython syntax-highlighting


    【解决方案1】:

    StyledTextCtrl 应该适合你。但它没有内置的 JSON 词法分析器。

    我会按以下顺序尝试选项:

    希望对您有所帮助。

    【讨论】:

    • 确实有帮助 :-) STC 并不像看起来那么难。只是缺少一些文档和教程。
    【解决方案2】:

    我使用的是 Python 3.7,并且有一个 JSON 词法分析器可用。您可以使用以下内容。

    stc.StyledTextCtrl.__init__(self, parent)
    self.SetLexer(stc.STC_LEX_JSON)
    

    除此之外,还有一些其他属性在将 StyledTextCtrl 用于 JSON 时可能很有用。这些属性用于作为普通 JSON 的一部分的各种字段的字体大小和颜色。

    self.StyleSetSpec(stc.STC_JSON_DEFAULT, "fore:#000000,face:%(helv)s,size:%(size)d" % fonts)
    self.StyleSetSpec(stc.STC_JSON_NUMBER, "fore:#007F7F,size:%(size)d" % fonts)
    self.StyleSetSpec(stc.STC_JSON_KEYWORD, "fore:#007F7F,bold,size:%(size)d" % fonts)
    self.StyleSetSpec(stc.STC_JSON_STRING, "fore:#7F0000,size:%(size)d" % fonts)
    self.StyleSetSpec(stc.STC_JSON_PROPERTYNAME, "fore:#FF5733,size:%(size)d" % fonts)
    

    【讨论】:

      猜你喜欢
      • 2020-12-23
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 2011-02-23
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多