Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> get.Entry() Python 
:(
    Опции темы
Securelord
Дата 5.6.2006, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 17.5.2006

Репутация: нет
Всего: нет



Кто может обьяснить причину ошики?
Код:
Код

from Tkinter import *
def get_Entry():
    et1=e1.get(root)
root=Tk()
e1=Entry(frame_atx, width="50").grid(row=0, column=2)
Button(frame_buttons, relief="groove", text="Сохранить", command=get_Entry).grid(row=0, column=1)
root.title(string="***")


Ошибка:
>>> Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python24\lib\lib-tk\Tkinter.py", line 1345, in __call__
return self.func(*args)
File "F:/1", line 3, in get_Entry
et1=e1.get(root)
AttributeError: 'NoneType' object has no attribute 'get'   

Это сообщение отредактировал(а) setq - 5.6.2006, 13:13
PM MAIL   Вверх
setq
Дата 5.6.2006, 13:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я могу объяснить. smile  
  Вверх
Securelord
Дата 5.6.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 17.5.2006

Репутация: нет
Всего: нет



Объясниsmile
PM MAIL   Вверх
setq
Дата 5.6.2006, 16:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну я бы как думал? 
Цитата(Securelord @  5.6.2006,  12:45 Найти цитируемый пост)
    et1=e1.get(root)
AttributeError: 'NoneType' object has no attribute 'get' 

Что это значит? e1 почему-то None, вот что это значит. А почему?
Ищем, где происходило присвоение в e1 в последний раз. Это было в строке №5.
Смотрим на выражение справа от =. И начинаем думать.
 
  Вверх
Securelord
Дата 5.6.2006, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 17.5.2006

Репутация: нет
Всего: нет



Вообще то правильно думаешьsmile. Но насколько я знаю в питоне тип переменной определяется тогда когда она первый раз была объявлена. В моем "коде" переменной et1 присваивается строка, которую вернул метод get поля entry. По логике переменная et1 должна иметь также строковый тип. А интерпретатор говорить что нет... Вот я и не пойму в чем бок... 
PM MAIL   Вверх
setq
Дата 5.6.2006, 17:35 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Распечатай e1 после строки №5. 
  Вверх
Securelord
Дата 6.6.2006, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 17.5.2006

Репутация: нет
Всего: нет



Не спорю, ты прав. Но такая конструкция работала до определенного времени(Python 2.3.5). А сейчас нет, и я просто в непонятках smile 
PM MAIL   Вверх
setq
Дата 6.6.2006, 13:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Да конструкция-то правильная. Просто метод .grid() возвращает None. Вот. Поэтому вместо x = A().f() надо использовать x = A() ; x.f()
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1099 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.