如何解决如何使标签跳过这一行
我有这个代码。如何制作,每当我按下按钮时,标签会跳过该行,并且不会擦除之前写的内容,而只是跳过一行。
from tkinter import *
import os
roots = Tk()
roots.title("Email's save")
roots.geometry("500x500")
roots.resizable(False,False)
"""
e = email
p = password
"""
e = Entry(roots)
e.grid(row=0,column=1)
e.focus_set()
p = Entry(roots,show="*")
p.grid(row=1,column=1)
p.focus_set()
textEmail = StringVar()
textPassword = StringVar()
def database():
Label(roots,text=f" {e.get()}").grid(row=10,column=10)
Label(roots,text=f" {p.get()}").grid(row=20,column=20)
def callback():
textEmail.set(e.get()) + "\n"
textPassword.set(p.get()) + "\n"
def EmailPassword():
Label(roots,text="Email: ").grid(row=0,sticky=W)
Label(roots,text="Password: ").grid(row=1,textvariable=textEmail).grid(row=10,column=10)
Label(roots,textvariable=textPassword).grid(row=20,column=20)
btn_email = Button(roots,text="Save",command= callback).grid(row=2,column=1,stick=E)
roots.mainloop()
EmailPassword()
每次我运行此代码时,都会出现以下错误:TypeError:+不支持的操作数类型:'NoneType'和'str'
解决方法
您的错误出在“回调”函数中-您的.set()函数返回None,因此您无法将其连接为字符串。如果您想在电子邮件末尾添加换行符,则应该执行以下操作:
def callback():
textEmail.set(e.get() + "\n")
textPassword.set(p.get() + "\n")
这还解决了您的代码不会删除之前编写的内容的错误。
要在新密码下添加旧密码/用户名,您可以执行以下操作:
def callback():
textEmail.set(textEmail.get() + e.get() + "\n")
textPassword.set(textPassword.get() + p.get() + "\n")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。