Python - Ввод значения в циклы foor - Как обновить начальные значения - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь сделать небольшой Tkinter GUI в соответствии с учебником Python.

Идея состоит в том, чтобы:

  1. Иметь некоторые ИМЕНА - Иметь некоторые записи с START VALUES - умножьте их на FIXED VALUE
  2. Измените запись START VALUE - умножьте снова на FIXED VALUE (когда я нажимаю кнопку)

Вот код (Python 3.7.5)

from tkinter import *
import math

class main():
    def __init__(self):
        self.main = Tk()
        self.main.title("StackOverflow Question")
        self.main.geometry('200x200')
        self.main.configure(bg="White")

        names = ['John', 'Paul', 'Jones']
        values = [10.0, 20.0, 30.5]

        labelTitle = Label(self.main, font=('Arial', 12), text = "Names", bg="White", justify = CENTER)
        labelTitle.place(x=10, y=10)

        valuesList = []
        for i in range(len(names)):
            labelNames = Label(self.main, text = names[i], bg="White", justify = CENTER)
            labelNames.place(x=10, y=30 + i * 20)

            var = DoubleVar()
            var.set(values[i])
            valuesNames = Entry(self.main, textvariable=var, width=8, bg='light gray', bd = 0, justify = CENTER)
            valuesNames.place(x=70, y=30 + i * 20)
            valuesList.append(valuesNames.get())


        def formula():
            for i in range(len(names)):
                multiplier = 1000
                valueMultiplied = float(valuesList[i])* multiplier
                valueMultipliedEntry = Entry(self.main, width=8, bg='light gray', bd = 0, justify = CENTER)
                valueMultipliedEntry.insert(END, valueMultiplied)
                valueMultipliedEntry.place(x=130, y=30 + i * 20)



        btn1 = Button(self.main, text="Calculate", command=formula)
        btn1.place(x=70, y=100)

        mainloop()

main()

Большое спасибо и извините за вопрос новичка.

РЕДАКТИРОВАТЬ:

The Вопрос в том, что значения, которые я .get () из Entry фиксируем, и если я их изменю, и нажму кнопку btn1, он все равно не рассчитается. Не могли бы вы помочь?

Большое спасибо.

1 Ответ

0 голосов
/ 28 апреля 2020

Вам нужно добавить еще несколько вещей ... вы можете написать там

btn1 = Button(self.main, text="Calculate", command=lambda:formula())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...