如何在 tkinter 的输入框中禁用用户输入?



我正在开发一个随机密码生成器应用程序,其中我使用输入来显示将随机生成的密码。我只想插入密码,但在输入框中禁用用户类型的功能,但用户可以选择和复制输入框的内容。 请帮我解决这个问题。

这不是我在应用程序中使用的确切代码,但概念是相同的。我发布此代码以供参考。现在我想禁用用户在 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")然后通过这样做来disableentry1.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()

相关内容

  • 没有找到相关文章

最新更新