Как соединить Entry и Button в Tkinter?
Как сделать так, чтобы когда ты печатаешь в поисковой строке слово "черепаха" и запускаешь кнопку, перо превращается в черепаху ?
Вот код :
from tkinter import *
from turtle import *
pensize(4)
left(90)
shape("square")
color('#717171')
setup(550, 550)
def p():
if entry_1 == 'Черепаха':
shape('turtle')
btn_ton = Button(height=2, width=4, bg='#717171', command=p, text='↑', fg='white')
btn_ton.place(x=505, y=507)
entry_1 = Entry(width=50, font=('Gabriola 17'))
entry_1.pack(side=TOP)
done()
Ответы (3 шт):
Нужно обращаться к тексту в entry_1:
def p():
if entry_1.get().lower() == 'черепаха':
shape('turtle')
Есть два способа установить или изменить текст Entry виджета Tkinter, нажав кнопку Tkinter,
Tkinter delete и insert метод
StringVar Метод Tkinter
Tkinter delete и insert способ установки содержимого Entry
Entry У виджета Tkinter нет специального set метода для настройки содержимого Entry. Сначала необходимо удалить существующее содержимое, а затем вставить новое содержимое, если нужно полностью изменить содержимое.
Завершите рабочие коды для ввода текста Entrydelete и insert методы
Если textEntry значение обновлено, чтобы иметь новое значение text, то виджеты, textvariable связанные с ним, будут автоматически обновлены.
Можно получить значение Entry через метод get:
# импорт
from tkinter import *
from turtle import *
# параметры
pensize(4)
left(90)
shape('square')
color('#717171')
setup(550, 550)
# функция для смены формы черепахи (переименована)
def change_shape():
if entry.get() == 'Черепаха': # получаем значение Entry через метод get()
shape('turtle')
# кнопка (переименована)
button = Button(height=2, width=4, bg='#717171', command=change_shape, text='↑', fg='white')
button.place(x=505, y=507)
# поле ввода (переименовано)
entry = Entry(width=50, font=('Gabriola', 17)) # шрифт лучше указывать так
entry.pack(side=TOP)
# готово
done()
Совет: почитайте PEP-8, как правильно оформлять код.
