Форум сайта python.su
подскажите как вернуть значение из поля 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)
Офлайн
Не надо никаких глобальных переменных.
ГУИ программы всеми разумными людьми пишутся на основе ООП. Освойте уже эту замечательную технологию и не будет таких удивительных вопросов.
Офлайн
FishHookотличное замечание. Скиньте, пожалуйста, ссылку на тему для неразумных людей, вроде меня чтоб я мог выяснить ответ на мой вопрос. Или получить информацию как это сделать иначе.
Не надо никаких глобальных переменных.ГУИ программы всеми разумными людьми пишутся на основе ООП. Освойте уже эту замечательную технологию и не будет таких удивительных вопросов.
Офлайн
bad_playa
А что конкретно у вас не получается нагуглить: глобальные переменные в питоне или ООП в питоне?
Я нагуглю за вас, не вопрос, вы только конкретизируйте, какую конкретно информацию вы не нашли в интернете.
Офлайн
я не могу найти информацию, как вернуть precision из метода, который вызывается по нажатию кнопки.
все что мне нужно нажать на кнопку, и сохранить в переменную, которую я могу использовать дальше.
как мне это сделать, где почитать?
Офлайн
ладно, пусть будет так
precision = None def getPrecision(): global precision precision = float(entry.get())
Офлайн
Пробросьте через 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()
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()
Офлайн