首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在qtextbox中显示json数据?

如何在qtextbox中显示json数据?
EN

Stack Overflow用户
提问于 2016-12-21 04:56:33
回答 3查看 2K关注 0票数 1

例如,我有一个从文件中读取的json数据:

代码语言:javascript
运行
复制
{"name": "Gilbert", "wins": [["straight", "7"], ["one pair", "10"]]}

然后如何在带有格式缩进的编辑文本框中显示这一点?

代码语言:javascript
运行
复制
{  
   "name":"Gilbert",
   "wins":[  
      [  
         "straight",
         "7"
      ],
      [  
         "one pair",
         "10"
      ]
   ]
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-12-21 05:18:12

使用json

代码语言:javascript
运行
复制
import json

from PySide.QtGui import QApplication
from PySide.QtGui import QTextEdit

if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)

    s = {"name": "Gilbert", "wins": [["straight", "7"], ["one pair", "10"]]}
    js = json.dumps(s, indent=4, sort_keys=True)
    w = QTextEdit()
    w.setText(js)
    w.show()
    sys.exit(app.exec_())

票数 3
EN

Stack Overflow用户

发布于 2016-12-21 05:10:42

您可以通过使用json.dumps()并将结果放入文本框来做到这一点。

一个简单的例子(没有pyside):

代码语言:javascript
运行
复制
import json
s = """{"name": "Gilbert", "wins": [["straight", "7"], ["one pair", "10"]]}"""
print(json.dumps(j, indent=4, sort_keys=True))

结果:

代码语言:javascript
运行
复制
{
    "name": "Gilbert",
    "wins": [
        [
            "straight",
            "7"
        ],
        [
            "one pair",
            "10"
        ]
    ]
}

如果不是printing,而是将json.dumps()的结果分配给一个变量:

代码语言:javascript
运行
复制
p = json.dumps(j, indent=4, sort_keys=True)

现在您可以使用pQTextEdit's slot将文本框的内容设置为 slot

票数 2
EN

Stack Overflow用户

发布于 2016-12-21 05:09:29

这不是您指定的确切格式,但是具有适当width值的width生成一个格式良好的字符串,然后您可以将其插入文本框中:

代码语言:javascript
运行
复制
import pprint
s = pprint.pformat({"name": "Gilbert", "wins": [["straight", "7"], ["one pair", "10"]]},
                   width=25)

结果:

代码语言:javascript
运行
复制
>>> print(s)
{'name': 'Gilbert',
 'wins': [['straight',
           '7'],
          ['one pair',
           '10']]}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41255361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档