【问题标题】:python label don't updating in realtime [duplicate]python标签不会实时更新[重复]
【发布时间】:2018-11-28 20:12:51
【问题描述】:

我解决了同样的问题,解决方案主要在.set ()

我是新手,我也是这样做的,但没有成功。请帮助理解并指出错误。

我这样做是为了在dp1o 中根据公式 xmax 更改值,但似乎只针对自动分配的零进行计算。

from math import *
from tkinter import *

root = Tk()
f_top = Frame(root)
root.title('Полет ядра')
g = 9.81
dx = 0.01
v = IntVar()
an = IntVar()
t = IntVar()
vx = IntVar()

def analysis():
    v = int(entry1.get())
    an = int(entry2.get())


    t = (((2 * v * sin(an)) / g))
    vx = v * cos(an)

    xmax = vx * t * cos(an)

    dp1o.config(text=xmax)


first = LabelFrame(root, text='Данные для первого графика')
first.pack(side='left')

second = Label(first, text='Начальная скорость')
second.pack()

entry1 = Entry(first, width=10, textvariable=v)
entry1.pack()

third = Label(first, text='Угол выстрела')
third.pack()

entry2 = Entry(first, width=10, textvariable=an)
entry2.pack()


first = LabelFrame(root, text='Расчет')
first.pack(side='right')
dp1 = Label(first, text='Дальность полета 1 тела')
dp1.pack()
dp1o = Label(first, text='')
dp1o.pack()


button = Button(root, text="Сгенерировать", command=analysis())
button.pack(side='left')

root.mainloop()

【问题讨论】:

    标签: python python-3.x matplotlib tkinter


    【解决方案1】:

    您的问题是您在analysis 之后通过了()。处理命令时,无需将 () 放在您调用的函数之后。

    这是您的代码的工作版本。

    from math import *
    from tkinter import *
    
    root = Tk()
    f_top = Frame(root)
    root.title('Полет ядра')
    g = 9.81
    dx = 0.01
    v = IntVar()
    an = IntVar()
    t = IntVar()
    vx = IntVar()
    
    def analysis():
        v = int(entry1.get())
        an = int(entry2.get())
    
    
        t = (((2 * v * sin(an)) / g))
        vx = v * cos(an)
    
        xmax = vx * t * cos(an)
    
        dp1o.config(text=xmax)
    
    
    first = LabelFrame(root, text='Данные для первого графика')
    first.pack(side='left')
    
    second = Label(first, text='Начальная скорость')
    second.pack()
    
    entry1 = Entry(first, width=10, textvariable=v)
    entry1.pack()
    
    third = Label(first, text='Угол выстрела')
    third.pack()
    
    entry2 = Entry(first, width=10, textvariable=an)
    entry2.pack()
    
    
    first = LabelFrame(root, text='Расчет')
    first.pack(side='right')
    dp1 = Label(first, text='Дальность полета 1 тела')
    dp1.pack()
    dp1o = Label(first, text='')
    dp1o.pack()
    
    
    button = Button(root, text="Сгенерировать", command=analysis)
    button.pack(side='left')
    
    root.mainloop()
    

    【讨论】:

    • 真的,它有效!
    猜你喜欢
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 2015-05-24
    • 1970-01-01
    相关资源
    最近更新 更多