我正在开发一个随机密码生成器应用程序,其中我使用输入框来显示将随机生成的密码。我只想插入密码,但在输入框中禁用用户类型的功能,但用户可以选择和复制输入框的内容。 请帮我解决这个问题。
这不是我在应用程序中使用的确切代码,但概念是相同的。我发布此代码以供参考。现在我想禁用用户在 entry1 输入框中键入的功能,但我仍然想在 entry1 输入框中传递随机生成的密码。
from tkinter import *
import random
import string
import pyperclip
root = Tk()
# BackEnd
def copy_to_clipbrd():
pyperclip.copy(entry1.get())
def password():
random_password = random.sample(string.ascii_letters, 15)
entry1.delete(0, END)
entry1.insert(0, random_password)
# FrontEnd
entry1 = Entry(root,width = 40, borderwidth = 20 )
entry1.place(x = 50, y = 35)
btn1 = Button(root, text = "Generate", command = password)
btn1.place(x = 70, y = 45)
btn2 = Button(root, text = "Copy", command = copy_to_clipbrd)
btn2.place(x = 85, y = 45)
root.mainloop()
在将数据插入条目之前,您必须启用条目小部件entry1.config(state="normal")
然后通过这样做来disable
entry1.config(state="disable")
它,因此您无法输入entry
。
完整代码
from tkinter import *
import random
import string
import pyperclip
root = Tk()
# BackEnd
def copy_to_clipbrd():
pyperclip.copy(entry1.get())
def password():
entry1.config(state="normal")
random_password = random.sample(string.ascii_letters, 15)
entry1.delete(0, END)
entry1.insert(0, random_password)
entry1.config(state="disable")
# FrontEnd
entry1 = Entry(root,width = 40, borderwidth = 20 )
entry1.place(x = 50, y = 35)
btn1 = Button(root, text = "Generate", command = password)
btn1.place(x = 70, y = 85)
btn2 = Button(root, text = "Copy", command = copy_to_clipbrd)
btn2.place(x = 145, y = 85)
root.mainloop()