Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用tkinter制作的应用程序中打开并另存为Json配置文件的用户设置_Json_Python 3.x_Tkinter - Fatal编程技术网

在使用tkinter制作的应用程序中打开并另存为Json配置文件的用户设置

在使用tkinter制作的应用程序中打开并另存为Json配置文件的用户设置,json,python-3.x,tkinter,Json,Python 3.x,Tkinter,保存json文件时,它可以工作,但打开同一文件时,不会将用户设置加载到应用程序中 def另存为(): 数据={ “win left”:left_w.get(), “win top”:top\w.get(), “赢得宽度”:宽度w.get(), “赢得高度”:高度w.get() } 打开({}.format(filedialog.asksaveasfilename)(initialdir=“/”, title=“选择文件”,filetypes=(“json文件”, “*.json”),(“所有文

保存json文件时,它可以工作,但打开同一文件时,不会将用户设置加载到应用程序中


def另存为():
数据={
“win left”:left_w.get(),
“win top”:top\w.get(),
“赢得宽度”:宽度w.get(),
“赢得高度”:高度w.get()
}
打开({}.format(filedialog.asksaveasfilename)(initialdir=“/”,
title=“选择文件”,filetypes=(“json文件”,
“*.json”),(“所有文件”,“**)),“w”,将='utf-8'编码为f:
dump(数据,f,确保ascii=False,缩进=2)
f、 关闭()
打印(数据)
def open_文件():
打开\u config=filedialog.askopenfilename(initialdir=“/”,title=“选择
文件”,文件类型=((“json文件”,“*.json”),
(“所有文件”、“*”))
配置=打开(打开配置)
json_file=json.load(配置)
config.close()
打印(json_文件)
#菜单
filemenu.add_命令(label=“Open”,command=Open_文件)
filemenu.add_命令(label=“另存为…”,command=另存为)
#输入字段
左w=IntVar()
top_w=IntVar()
宽度w=IntVar()
高度w=IntVar()
wl=条目(主数据=page2,文本变量=left_w,宽度=6)。网格(列=1,行=1)
wt=条目(主数据=page2,文本变量=top_w,宽度=6)。网格(列=3,行=1)
ww=条目(主控=第2页,文本变量=宽度,宽度=6)。网格(列=5,行=1)
wh=条目(主控=第2页,文本变量=高度,宽度=6)。网格(列=7,行=1)
我希望能够保存和加载应用程序上输入字段的用户设置。 现在仅保存,加载文件时,应用程序会打印文件的用户设置,但不会加载用户设置,也不会给出任何错误。

在def open_文件()上,我只添加了:

left_w.set(data['win left'])
top_w.set(data['win top'])

现在,当加载json文件时,应用程序将替换文件中的值。

Hi,也许可以打印一些详细的日志来跟踪加载时调用的内容?Hi,加载时,应用程序将打印以下内容{'win left':123,'win top':345,'win width':567,'win height':890}。我在输入字段上放置的值。