Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » вернуть значение в переменную из entry (tkinter) [RSS Feed]

#1 Июнь 12, 2016 11:38:56

bad_playa
Зарегистрирован: 2015-09-09
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

вернуть значение в переменную из entry (tkinter)

подскажите как вернуть значение из поля entry в переменную, скажем глобальную
интересует как использовать precision за пределами метода getPrecision()

def getPrecision():
      precision = float(entry.get())
entry = Entry(panelFrame, text = '')
entry.grid()        
askPrecisionBtn = Button(panelFrame, text = 'Go', command = getPrecision())
askPrecisionBtn.grid()

Отредактировано bad_playa (Июнь 12, 2016 11:39:44)

Офлайн

#2 Июнь 12, 2016 11:46:12

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

вернуть значение в переменную из entry (tkinter)

Не надо никаких глобальных переменных.
ГУИ программы всеми разумными людьми пишутся на основе ООП. Освойте уже эту замечательную технологию и не будет таких удивительных вопросов.



Офлайн

#3 Июнь 12, 2016 11:53:03

bad_playa
Зарегистрирован: 2015-09-09
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

вернуть значение в переменную из entry (tkinter)

FishHook
Не надо никаких глобальных переменных.ГУИ программы всеми разумными людьми пишутся на основе ООП. Освойте уже эту замечательную технологию и не будет таких удивительных вопросов.
отличное замечание. Скиньте, пожалуйста, ссылку на тему для неразумных людей, вроде меня чтоб я мог выяснить ответ на мой вопрос. Или получить информацию как это сделать иначе.

Офлайн

#4 Июнь 12, 2016 11:59:47

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

вернуть значение в переменную из entry (tkinter)

bad_playa
А что конкретно у вас не получается нагуглить: глобальные переменные в питоне или ООП в питоне?
Я нагуглю за вас, не вопрос, вы только конкретизируйте, какую конкретно информацию вы не нашли в интернете.



Офлайн

#5 Июнь 12, 2016 12:08:06

bad_playa
Зарегистрирован: 2015-09-09
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

вернуть значение в переменную из entry (tkinter)

я не могу найти информацию, как вернуть precision из метода, который вызывается по нажатию кнопки.
все что мне нужно нажать на кнопку, и сохранить в переменную, которую я могу использовать дальше.
как мне это сделать, где почитать?

Офлайн

#6 Июнь 12, 2016 12:13:33

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

вернуть значение в переменную из entry (tkinter)

ладно, пусть будет так

precision = None
def getPrecision():
      global precision
      precision = float(entry.get())



Офлайн

#7 Июнь 12, 2016 16:28:24

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

вернуть значение в переменную из entry (tkinter)

Пробросьте через lambda нужную переменную.
FishHook все правильно говорит. Глобальные переменные зло!!!

def getPrecision(my_data):
      my_data[0] = float(entry.get())
my_data = []
entry = Entry(panelFrame, text = '')
entry.grid()        
askPrecisionBtn = Button(panelFrame, text = 'Go', command = lambda: getPrecision(my_data))
askPrecisionBtn.grid()

Но это хоть и по-питонячьи, но все же не по tkinter
В tkinter есть специальные Var переменные, для такой работы.

В этом случае код будет выглядеть так:

def getPrecision():
    print(my_data.get())
my_data = StringVar()
entry = Entry(panelFrame, text = '', textvariable=my_data)
entry.grid()        
askPrecisionBtn = Button(panelFrame, text='Go', command=getPrecision)
askPrecisionBtn.grid()

P.S. По-свободе почитайте про PEP8

Офлайн

  • Начало
  • » GUI
  • » вернуть значение в переменную из entry (tkinter)[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version