皮在养 2022-05-12 23:56 采纳率: 100%
浏览 53
已结题

tkinter中修改json文件中数据

sj.json 文件名中内容
[{"li": "1.7", "pre1": "90", "pre2": "140", "su": "7", "he": "100"}]

db.py

import json

class MysqlDatabases:
def init(self):
self.sj = json.loads(open('sj.json', mode='r', encoding='utf-8').read())

def get_json_data(self):
with open('sj.json', 'rb') as f:
params = json.loads(f)
for i in range(len(params)):
params[i]['score'] = params[i]['score']*10
print("params", params)
dict = params
f.close()
return dict
def write_json_data(self, dict):
with open('out', 'W') as r:
json.dump(dict, r)
r.close()

db = MysqlDatabases()

views.py

import tkinter as tk
from db import db
class ChangeFrame(tk.Frame):
def init(self, root):
super().init(root)
self.li = tk.StringVar()
self.pre1 = tk.StringVar()
self.pre2 = tk.StringVar()
self.su = tk.StringVar()
self.he = tk.StringVar()
self.create_page()

def create_page(self):
    tk.Label(self, text='请填写修改的数值').grid(row=1, column=1)
    tk.Button(self, text='血脂中甘油三酯').grid(row=4, pady=10, column=1)
    tk.Entry(self, textvariable=self.li).grid(row=4, column=2)
    tk.Button(self, text='舒张压').grid(row=5, pady=10, column=1)
    tk.Entry(self, textvariable=self.pre1).grid(row=5, column=2)
    tk.Button(self, text='收缩压').grid(row=6, pady=10, column=1)
    tk.Entry(self, textvariable=self.pre2).grid(row=6, column=2)
    tk.Button(self, text='血糖').grid(row=7, pady=10, column=1)
    tk.Entry(self, textvariable=self.su).grid(row=7, column=2)
    tk.Button(self, text='心率').grid(row=8, pady=10, column=1)
    tk.Entry(self, textvariable=self.he).grid(row=8, column=2)
    tk.Button(self, text='修改', command=self.recode_info).grid(row=15, column=2)
    tk.Label(self).grid(row=16, column=2)

def recode_info(self):
    stu = {"li": self.li.get(), "pre1": self.pre1.get(), "pre2": self.pre2.get(), "su": self.su.get(), "he": self.he.get()}
    print(stu)

change.py

import tkinter as tk
from views import ChangeFrame

class Change:
def init(self, master: tk.Tk):
self.root = master
self.root.title('智能康复检查监督系统 v0.0.1')
self.root.geometry('600x400')
self.create_page()

def create_page(self):
    self.change_frame = ChangeFrame(self.root)

    menubar = tk.Menu(self.root)
    menubar.add_command(label='修改', command=self.show_change)
    menubar.add_command(label='退出', command=quit)
    self.root['menu'] = menubar


def show_change(self):
    self.change_frame.pack()

if name == 'main':
root = tk.Tk()
Change(master=root)
root.mainloop()

运行出来没有修改成功,sj.json文件中的数据没有改变

  • 写回答

3条回答 默认 最新

  • 溪风沐雪 2022-05-13 08:24
    关注

    我调试一下看看

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月13日
  • 已采纳回答 5月13日
  • 赞助了问题酬金10元 5月13日
  • 创建了问题 5月12日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程