我只想在TKinter Entry框中允许一个字符。我该怎么做?
答案 0 :(得分:2)
这里我5年后:)
from tkinter import *
Window = Tk()
Window.geometry("200x200+50+50") # heightxwidth+x+y
mainPanel = Canvas(Window, width = 200, height = 200) # main screen
mainPanel.pack()
entry_text = StringVar() # the text in your entry
entry_widget = Entry(mainPanel, width = 20, textvariable = entry_text) # the entry
mainPanel.create_window(100, 100, window = entry_widget)
def character_limit(entry_text):
if len(entry_text.get()) > 0:
entry_text.set(entry_text.get()[-1])
entry_text.trace("w", lambda *args: character_limit(entry_text))
您可以更改以下代码行:entry_text.set(entry_text.get()[-1])
更改方括号中的索引以更改范围
例如:
entry_text.set(entry_text.get()[:5])
前5个字符限制
entry_text.set(entry_text.get()[-5:])
最后5个字符限制
entry_text.set(entry_text.get()[:1])
仅限第一个字符
entry_text.set(entry_text.get()[:-1])
仅限最后一个字符
答案 1 :(得分:-2)
很有可能在没有自己编写代码的情况下在tkinter中执行此操作,但我不知道它,这应该会有所帮助。
from Tkinter import *
def go():
text = textbox.get()[0] #finds the first character
textbox.delete(0, END) #deletes everything
textbox.insert(0, text) #inserts the first character at the beginning
textbox = Entry(root).pack()
button = Button(root, command=go).pack()
答案 2 :(得分:-2)
您可以从entry.get()获取字符串,验证len()是否大于1,并且不验证它。