python - 将 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()
谢谢
解决方案
错误是它所说的:
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 是字符串而不是条目小部件。
推荐阅读
- python - 如何使用 for 循环制作二维列表?
- excel - 使用不同的电子邮件帐户发送邮件
- office365 - 在 SharePoint 上启用脚本
- c++ - 什么最适合优化 sfml 项目?
- spring-boot - 休眠验证针对相同的约束违规返回不同场景的不同状态代码
- python - Python list if else save
- java - 来自 Talend mysqlinput commponet 的 Mysql 通信链路故障(后端代码为 Java)
- c++ - 协程的返回类型不拥有成员类型:C++20 标准中的 promise_type 是否是未定义的行为?
- flutter - Flutter 警报对话框未居中
- python - 熊猫读取 csv 忽略 " 字符