Добрый день. Перечитал функции, но увы не пришло в голову как увязать значение с получаемой ячейки и списком в который ее надо добавить. Чуть изменил код но это не суть, подскажите, что надо сделать чтоб значение добавилось в список. Через глобальную переменную решил, но это не “феншуйно”. Сам код планируется использоваться для интерактивного наполнения справочника сотрудников имя/фамилия/отчество и дальше доп.реквизиты.
Тут же не надо функции передавать аргумент? мы же планируем получить значение в самой функции. Объясните чайнику на пальцах, что не так… ПЛИЗ
from tkinter import *
def add (): #читает значение из ячейки (а)
c=a.get() #получение значения из ячейки (а)
return c # возврат значения программе... ЧТО ВОЗВРАЩАЕТ? Строку- правильно ли я думаю?
def by(y):
root.destroy()
root=Tk()
a=Entry(root,width=50)
a.pack()
but=Button(root,width=5,height=5,bg='red',fg='white', text='Push')
but.bind('<Button-1>',add)
but.pack(side='left')
but=Button(root,width=5,height=5,bg='red',fg='white', text='By!!!')
but.bind('<Button-1>',by)
but.pack(side='right')
root.mainloop()
a=[]
a.append(add()) # как по мне должно передать значение add и добавить к спискуб а НЕТ
print(a)
Получаю в ответ:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
return self.func(*args)
TypeError: add() takes 0 positional arguments but 1 was given
Traceback (most recent call last):
File "C:\Python34\Test_pro\from_glob.py", line 18, in <module>
a.append(add()) # как по мне должно передать значение add и добавить к спискуб а НЕТ
File "C:\Python34\Test_pro\from_glob.py", line 3, in add
c=a.get() #получение значения из строки (а)
AttributeError: 'list' object has no attribute 'get'