python - 如何在不获取 PY_VAR0 作为值的情况下从 tkinter 输入框保存到文本文件?
问题描述
我对 Python 相当有信心,但从未使用过 tkinter,所以我非常感谢一些帮助/
我正在尝试使用 tkinter 和文本文件创建一个基本的登录系统。当我保存到文本文件时,它只是将 PY_VAR0 和 PY_VAR1 保存到文本文件中,我尝试使用 .get 但错误说 str 没有属性 .get
我尝试了很多东西,但没有运气 - 我有一种感觉,我做错了什么非常明显,我只是没有意识到
有些代码在这里可能完全没用,但我想我会把它全部包括在内,因为它可以帮助你找出导致问题的原因
有人可以帮忙吗?
# importing librarys
import tkinter
from tkinter import *
from functools import partial
#setting up window
window = tkinter.Tk()
window.title('Widgets Example')
window.title('All Planner_login')
window.configure(width=355, height=355)
def validateLogin(username, password):
print("username entered :", username.get())
print("password entered :", password.get())
winWidth = window.winfo_reqwidth()
winwHeight = window.winfo_reqheight()
posRight = int(window.winfo_screenwidth() / 2 - winWidth / 2)
posDown = int(window.winfo_screenheight() / 2 - winwHeight / 2)
window.geometry("+{}+{}".format(posRight, posDown))
fr = tkinter.Frame(window, height=175, width=295, bg='#1f85de', borderwidth=75)
fr.place(relx=.5, rely=.5, anchor="c")
lblInst = tkinter.Label(fr, text='log in:', fg='#000000', bg='#1f85de', font=('Helvetica', 16))
lbl = tkinter.Label(fr, text="Username:", bg='#1f85de')
username = StringVar()
ent = tkinter.Entry(fr, textvariable=username)
lbl2 = tkinter.Label(fr, text='Password:', bg='#1f85de')
password = StringVar()
ent2 = tkinter.Entry(fr,show='*', textvariable=password)
validateLogin = partial(validateLogin, username, password)
btn = tkinter.Button(fr, text='Login', command=validateLogin, fg='#a1dbcd', bg='#1aa831')
usernameSave=str(username)
passwordSave=str(password)
text_file = open("passdoc.txt", "w")
n = text_file.write(usernameSave)
text_file.close()
text_file = open("passdoc.txt", "w")
n = text_file.write(passwordSave)
text_file.close()
lblInst.pack()
lbl.pack()
ent.pack()
lbl2.pack()
ent2.pack()
btn.pack()
window.configure(background='#6b18ba')
window.mainloop()
#menu window
from tkinter import *
window=Tk()
window.title('ALL Planner')
window.configure(width=1000, height=600)
window.configure(background='#6b18ba')
winWidth = window.winfo_reqwidth()
winwHeight = window.winfo_reqheight()
posRight = int(window.winfo_screenwidth() / 2 - winWidth / 2)
posDown = int(window.winfo_screenheight() / 2 - winwHeight / 2)
window.geometry("+{}+{}".format(posRight, posDown))
fr = tkinter.Frame(window, height=500, width=900, bg='#1f85de', borderwidth=75)
fr.place(relx=.5, rely=.5, anchor="c")
lbl = tkinter.Label(fr, text="Notes:", bg="#6b18ba")
window.mainloop()
解决方案
推荐阅读
- node.js - express.js 项目中的 CORS 问题
- angular7 - Angular 6 无法使用本地参考禁用启用输入
- php - 使用 mysql_data_seek 时 PHP Extra 1 空行
- python - 如何在 Python 中使用 Paramiko 时使 EllipticCurvePublicNumbers.encode_point CryptographyDeprecationWarning 静音
- excel - Excel 条件格式 - 间接地址公式
- javascript - 如何不将点击事件传递给响应的孩子?
- tensorflow - Keras:带有 predict_generator 的混淆矩阵
- php - Laravel / Blade:标签/空格未正确包含
- c# - 为什么我的 Unity 项目会失去与 Git 的脚本和资产的连接?
- javascript - 为什么 SpeechSynthesisUtterance 有时不会在基于 Chromium 的浏览器中触发“结束”事件?