Как получить значение из записи (Tkinter), использовать его в формуле и распечатать результат в метке - PullRequest
0 голосов
/ 15 ноября 2018

При использовании записи функции Tkinter вы можете записать строковое значение и что-то с ним делать;но я на самом деле работаю с формулами.Идея довольно проста: поставить кучу ящиков, чтобы заполнить их числами (давление, усилие, напряжение, температура и т. Д.), А затем взять эти числа, применить формулы и показать результаты в одном и том же окне.

Как я могу это сделать?

Я искал часы и часы, не находя беспорядочного решения.

Похоже, у парня на этой странице были те же проблемы, но яЯ не понял суть решения: Как получить значение из записи (Tkinter), использовать его в формуле и распечатать результат в метке

Здесь также приведен еще один примернемного (только 2) я мог бы получить, но для меня это намного сложнее, чем предыдущий:

https://www.python -course.eu / tkinter_entry_widgets.php

Если бы кто-то мог поделиться полной программой, которая объясняет мне, как я могу применить эту концепцию получения числовых значений из строковых записей в моих будущих проектах, я был бы так рад.

1 Ответ

0 голосов
/ 15 ноября 2018

Вы можете получить значения с помощью .get () из виджетов

from tkinter import *
#Create the window
myWindow = Tk()

#Define your formula here
def MyCalculateFunction():

    #Get your value from box_pressure
    #Remember to convert string to integer or float / double
    pressure, temprature = float(box_pressure.get()), float(box_temprature.get())
    result = pressure + temprature

    #Show your result with label
    label_result.config(text="%f + %f = %f" % (pressure, temprature, result))

#Create a input box for pressure
box_pressure = Entry(myWindow)
box_pressure.pack()

#Create a input box for temprature
box_temprature = Entry(myWindow)
box_temprature.pack()

#Create a button
button_calculate = Button(myWindow, text="Calcuate", command=MyCalculateFunction)
button_calculate.pack()

#Create a label
label_result = Label(myWindow)
label_result.pack()

или получите его из textvariable

#Bind it with variable
variable_pressure = DoubleVar()
box_pressure = Entry(myWindow, textvariable=variable_pressure)
box_pressure.pack()

#Get/Set value by .get() / .set()
variable_pressure.set(42)

# shows 42
print(variable_pressure.get())
...