Python 3.8.6
Здравствуйте! Мне нужен графический интерфейс, который принимал бы от пользователя значения ВЕС, РОСТ, ВОЗРАСТ, ПОЛ(Ж или М), КОЭФФИЦИЕНТ АКТИВНОСТИ(1.2 ИЛИ 1.4 ИЛИ 1.9), ЦЕЛЬ(1 ИЛИ 2 ИЛИ 3). Затем эти значения будут использоваться в 6-ти других функциях в качестве входных параметров (пример одной из них: вычисление нормы калорий в день для человека с полученными параметрами), каждая из этих функций в моём понимании должна быть кнопочкой в интерфейсе пользователя.
Я организовала часть интерфейса (код прикрепила), где происходит ввод данных от пользователя. Рядом с каждым полем расположена кнопочка, которая должна извлекать значение из поля. Проблема состоит в том, что приложение работает только со значениями, которые установлены для поля ввода по умолчанию. На данные, вводимые пользователем в интерфейсе, оно не обращает внимания и вообще завершает работу еще до того, как пользователь введёт свои данные.
Подскажите, пожалуйста, как правильно реализовать то, что я задумала. Первый раз использую графический интерфейс.
Заранее благодарю за помощь и развёрнутый ответ.
Здравствуйте! Мне нужен графический интерфейс, который принимал бы от пользователя значения ВЕС, РОСТ, ВОЗРАСТ, ПОЛ(Ж или М), КОЭФФИЦИЕНТ АКТИВНОСТИ(1.2 ИЛИ 1.4 ИЛИ 1.9), ЦЕЛЬ(1 ИЛИ 2 ИЛИ 3). Затем эти значения будут использоваться в 6-ти других функциях в качестве входных параметров (пример одной из них: вычисление нормы калорий в день для человека с полученными параметрами), каждая из этих функций в моём понимании должна быть кнопочкой в интерфейсе пользователя.
Я организовала часть интерфейса (код прикрепила), где происходит ввод данных от пользователя. Рядом с каждым полем расположена кнопочка, которая должна извлекать значение из поля. Проблема состоит в том, что приложение работает только со значениями, которые установлены для поля ввода по умолчанию. На данные, вводимые пользователем в интерфейсе, оно не обращает внимания и вообще завершает работу еще до того, как пользователь введёт свои данные.
Подскажите, пожалуйста, как правильно реализовать то, что я задумала. Первый раз использую графический интерфейс.
Заранее благодарю за помощь и развёрнутый ответ.
Python:
#графический интерфейс
from tkinter import *
# win = Tk()
# win.title(" Сбалансированное пиание ")
# win.config(width=1000, height=1000)
#
# # ф-ция ввода веса
# def EnterW():
# weight = int(ent.get())
# lab2.configure(text="Вы ввели : " + str(weight))
# return weight
#
#
# lab1 = Label(win, text="Введите Ваш вес :").pack()
#
# ent = Entry(win, bd=2).pack()
# ent.insert(0, "10")
# lab2 = Label(win, text="Ваш вес = ").pack()
# but1 = Button(win, text="OK", command=lambda :EnterW).pack()
#
# weight = EnterW()
#
#
# # ф-ция ввода роста
# def EnterHeight():
# height = int(entr.get())
# lab4.configure(text="Вы ввели : " + str(height))
# return height
#
#
# lab3 = Label(win, text="Введите Ваш рост :").pack()
# entr = Entry(win, bd=2).pack()
# # entr.insert(0, "170")
#
# lab4 = Label(win, text="Ваш рост = ")
# lab4.pack()
#
# but3 = Button(win, text="OK", command=lambda :EnterHeight)
# but3.pack()
#
# height = EnterHeight()
#
#
# # возраст
# def EnterAge():
# age = int(entv.get())
# lab6.configure(text="Вы ввели : " + str(age))
# return age
#
#
# lab5 = Label(win, text="Введите Ваш возраст :")
# lab5.pack()
#
# entv = Entry(win, bd=2)
# entv.pack()
# entv.insert(0, "20")
#
# lab6 = Label(win, text="Ваш возраст = ")
# lab6.pack()
#
# but5 = Button(win, text="OK", command=lambda :EnterAge)
# but5.pack()
#
# age = EnterAge()
# print(age)
#
#
# # пол
# def EnterGender():
# gender = entp.get()
# #lab8.configure(text="Вы ввели : " + gender)
# return gender
#
#
# lab7 = Label(win, text="Введите Ваш пол (М/Ж) :")
# lab7.pack()
#
# entp = Entry(win, bd=2)
# entp.pack()
# entp.insert(0, "Ж")
#
# lab8 = Label(win, text="Ваш пол = ").pack()
# but7 = Button(win, text="OK", command=lambda: EnterGender).pack()
#
#
# gender = EnterGender()
#
#
# # коэффициент
# def EnterKf():
# Kf = float(entk.get())
# lab10.configure(text="Вы ввели : " + str(Kf))
# return Kf
#
#
# lab9 = Label(win, text="Введите коэффициент :")
# lab9.pack()
#
# entk = Entry(win, bd=2)
# entk.pack()
# entk.insert(0, "1.9")
#
# lab10 = Label(win, text="Коэффициент ")
# lab10.pack()
#
# but9 = Button(win, text="OK", command=EnterKf)
# but9.pack()
#
# Kf = EnterKf()
#
#
# # цель
# def ClearMission():
# entt.delete(0, END)
#
#
# def EnterMission():
# mission = float(entt.get())
# lab12.configure(text="Вы ввели : " + str(mission))
# return mission
#
#
# lab9 = Label(win, text="Введите Вашу цель (1,2,3):")
# lab9.pack()
#
# entt = Entry(win, bd=2)
# entt.pack()
# entt.insert(0, "3")
#
# lab12 = Label(win, text="Цель ")
# lab12.pack()
#
# but11 = Button(win, text="OK", command=lambda: EnterMission)
# but11.pack()
#
#
#
# win.mainloop()
# расчет рекомендуемой нормы ккал,
#это одна из 6-ти функций, где будeт использоваться введенные пользователем данные
def rKKal(gender, Kf, weight, height, age):
kkal = 0
if (gender == "М"):
kkal = Kf * (66.5 + 13.75 * weight + 5.003 * height - 6.775 * age)
elif (gender == "Ж"):
kkal = Kf * (665.1 + 9.563 * weight + 1.85 * height - 4.676 * age)
else:
print("неправильно введён пол")
return kkal