python treeview写入文件_如何将TreeView中的文件再次保存为json文件?

本文介绍如何使用PyQt5的QTreeWidget展示和编辑JSON文件内容,并实现编辑后的数据保存回桌面为JSON文件。通过创建一个QTreeWidget,加载JSON数据,允许用户编辑,然后将更新的内容重新保存成JSON格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我可以以qtreewitdget形式显示和编辑json文件。如何将编辑过的json文件再次保存到桌面上。

我的目标是创建一个json编辑器,我们可以编辑它import json

from PyQt5.QtWidgets import *

from PyQt5.QtCore import Qt

class ViewTree(QTreeWidget):

def __init__(self, value):

super().__init__()

def fill_item(item, value):

def new_item(parent, text, val=None):

child = QTreeWidgetItem([text])

child.setFlags(child.flags() | Qt.ItemIsEditable)

fill_item(child, val)

parent.addChild(child)

child.setExpanded(True)

if value is None: return

elif isinstance(value, dict):

for key, val in sorted(value.items()):

new_item(item, str(key), val)

elif isinstance(value, (list, tuple)):

for val in value:

text = (str(val) if not isinstance(val, (dict, list, tuple))

else '[%s]' % type(val).__name__)

new_item(item, text, val)

else:

new_item(item, str(value))

fill_item(self.invisibleRootItem(), value)

if __name__ == '__main__':

app = QApplication([])

fname = QFileDialog.getOpenFileName()

json_file=open(fname[0],"r")

file=json.load(json_file)

window = ViewTree(file)

window.setGeometry(300, 100, 900, 600)

window.show()

app.exec_()

18577ac7b7e2609fc6554ba9a6b61641.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值