2016-10-05 2 views
-2

В настоящее время у меня есть сценарий, в котором кнопки отключены. Теперь я хочу включить кнопки, когда пользователь вводит пользовательский вход в виджет ввода tkinter.Как включить кнопку, когда какой-либо текст введен в виджет ввода tkinter?

Просьба предложить.

Спасибо!

+0

Вы должны опубликовать [mcve] ваш код , Вы хотите, чтобы кнопки включались, когда пользователь нажимает клавишу «Enter», или как только они начинают вводить виджет Entry? –

+0

Я бы это сделал, но это мой официальный код, поэтому я не могу поделиться. Я хочу, чтобы кнопки включались, как только пользователь начинает печатать. Спасибо! – RakeshKirola

+1

Мы не хотим видеть вашу полную программу, просто краткий пример, иллюстрирующий вашу проблему, как описано в ссылке, опубликованной выше. Но в любом случае, фуас ответил на ваш вопрос. FWIW, если бы вы разместили [MCVE] (http://stackoverflow.com/help/mcve), это облегчило бы ответчикам изменить этот код, чтобы делать то, что вы хотите. –

ответ

2

bind() Функция Entry, которая будет выполнена при нажатии пользователем <Key>.

См bind() и <Key> в Events and Binding

0

Вы можете следить за эту question и, как сказал @Furas вы можете связать функцию Вход, что-то вроде этого

from Tkinter import Tk, Entry 
root = Tk() 

frame = Frame(root) #"frame" represents the parent window, where the entry widget should be placed. 

frame.pack() 
#GUI widgets 
entry = Entry(frame, width=80) #The syntax of an entry widget 

entry.pack(side='right') 

#callbacks 
def enableEntry(): 
    entry.configure(state="normal") 
    entry.update() 

def disableEntry(): 
    entry.configure(state="disabled") 
    entry.update() 



def click(key): 
    #print the key that was pressed 
    print key.char  


var = StringVar() 
disableEnButton = Radiobutton(frame, text="Disable", variable=var, value="0", command=disableEntry) 
disableEnButton.pack(anchor=W) 
enableEnButton = Radiobutton(frame, text="Enable", variable=var, value="1", command=enableEntry) 
enableEnButton.pack(anchor=W) 


#Bind entry to any keypress 
entry.bind("<Key>", click) 
root.mainloop() #This is necessary for the event loop to service events such as button clicks 
Смежные вопросы