首页 > 解决方案 > 将 tkinter 条目保存到文本文件

问题描述

我正在尝试从要保存到文本文件中的条目中获取信息,这就是我到目前为止所拥有的以及出现的错误。此外,如果有更好的方法来写这个,建设性的批评总是值得赞赏的!

第 16 行,在提交 print(fname.get()) UnboundLocalError: local variable 'fname' referenced before assignment

import sys
import tkinter as tk
from tkinter import *
import time
import random
import pygame
from pygame import mixer

win = Tk()
win.config(background="light goldenrod yellow")
win.title("Register!")
win.geometry("400x600")

def submit(event):
    u = open("user.txt","r+")
    print(fname.get())
    fname = fname.get()
    sname = sname.get()
    email = email.get()
    age = age.get()
    u.write(fname + "," + sname + "," + email + "," + age + ",")



fname = Entry(win,width=30)
fname.place(x=125, y=50)

sname = Entry(win,width=30)
sname.place(x=125, y=70)

email = Entry(win,width=30)
email.place(x=125, y=90)

age = Entry(win,width=30)
age.place(x=125, y=110)


submitBtn = Button(win, text="submit")
submitBtn.place(x=180, y=140)
submitBtn.bind('<Button-1>', submit)

win.mainloop()

谢谢

标签: pythonooptkinter

解决方案


错误是它所说的:

def submit(event):
    global fname,sname,email,age
    u = open("user_gui.txt","r+")
    print(fname.get())
    f_name = fname.get()
    s_name = sname.get()
    e_mail = email.get()
    a_ge = age.get()
    u.write(f_name + "," + s_name + "," + e_mail + "," + a_ge + ",")

最好将每个变量更改为其他变量,以免python混淆,否则稍后它会认为 fname 是字符串而不是条目小部件。


推荐阅读