如何从Python Tkinter条目中获取信息

时间:2018-12-08 20:02:54

标签: python canvas tkinter

我一直在许多论坛中寻找此答案,但没有任何帮助。所以这是我的问题: 我有一个从Tkinter在画布上绘制Matplotlib图的函数。运行良好。但是我要使输入常量。我的意思是我希望用户输入一个完整的列表。 实际上,想象一个很大的列表,我只想绘制列表的'x'最后几行。因此,我需要得到主菜,但是我的问题是它忘记了主菜的价值

    elif x == 5:
    can.create_text(240,170, fill='black', text = "Depuis combien d'année souhaitez vous le graph ?", font=('Times', -20, 'bold'))
    texte1 = Label(racine, text = "Interval d'années")
    texte1.grid(row = 8+y*9, column = 3,sticky='s')
    Interval = Entry(racine)
    Interval['fg']='red'
    Interval['bg']='grey'
    Interval.grid(row = 9+y*9,column=3,sticky='n')
    can.create_text(160,205, fill='black', text = 'Entrez le mois ici ------>', font=('Times', -20, 'bold'))
    bouton_graph = Button(racine, text = 'Tracer', command= graph_canvas)
    bouton_graph.grid(row = 8+y*9, column = 4, rowspan = 2)

所以在这里,我在函数“ graph_canvas”之前创建了条目。 然后在此函数中创建图表,然后我需要提取用户已在条目中输入的信息

    def get_back_values(L):
    "Dummy function"
    x = Mois_Temperatures(L)[2]
    y1 = Mois_Temperatures(L)[0]
    y2 = Mois_Temperatures(L)[1]
    print('test',x,len(y1),len(y2))
    return x, y1, y2

def update_graph(dt):
    A= Interval.get()
    L = Liste_en_Nombres('TMPARIS.csv')[0:A]
    x, y1, y2 = get_back_values(L)
    ax1.clear()
    ax1.set_ylim(Max_Min(L)[3], Max_Min(L)[1], auto=False)
    ax1.set_xlim(1, x, auto=False)
    ax1.set_ylabel('Temperature en C', color='b')
    ax1.set_xlabel('Les {0} derniers Mois'.format(y1[len(y1)-1]), color='black')
    ax1.plot(y1, y2, 'r-o')

def graph_canvas():
    graph = FigureCanvasTkAgg(fig, master=racine)
    can= graph.get_tk_widget()
    can.grid(row=0, column=0, rowspan = 10)
    FuncAnimation(fig, update_graph)

但是有错误:

Interval is not defined

感谢您的帮助,我迷路了

0 个答案:

没有答案