2011-03-27 289 views

回答

-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

您可以從entry.get()獲取字符串,驗證len()是否大於1,並且不驗證它。

+0

這會如何在條目窗口小部件中實施字符限制? – cpburnz 2016-03-25 15:31:58

1

我在這裏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])僅限最後一個字符