如何在 tkinter 的输入框中禁用用户输入?
How can I disable the user input in a entry box, in tkinter?
我正在开发一个随机密码生成器应用程序,我在其中使用输入框来显示随机生成的密码产生。我只想插入密码,但禁用输入框中用户类型的能力,但用户可以 select 并复制输入框的内容。
请帮我解决这个问题..
这不是我在我的应用程序中使用的确切代码,但概念是相同的。我发布此代码以供参考。现在我想禁用用户在 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()
我正在开发一个随机密码生成器应用程序,我在其中使用输入框来显示随机生成的密码产生。我只想插入密码,但禁用输入框中用户类型的能力,但用户可以 select 并复制输入框的内容。 请帮我解决这个问题..
这不是我在我的应用程序中使用的确切代码,但概念是相同的。我发布此代码以供参考。现在我想禁用用户在 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()