Tkinter:实时可视化参数

嗨,我正在写一个交互程序来快速拟合一些数据。
我想要密切关注我在同一张数据图表上绘制的拟合函数参数的实际值,同时通过绑定参数值进行更改。
我正在考虑使用多个文本框,但我还不习惯它们的语法。
这是解决这个问题的合适方法吗?如果是,我可以解决这个问题吗?
有没有其他更好的方法来面对这个问题?

# 回答1


在您选择的任何容器、列表框、标签等中使用StringVar()或IntVar()。当您更改它时,新值将显示在显示它的任何位置,因此更新=
STRING_var_1.set("新值")
下面的程序更改输入框中的值。同样的StringVar()也显示在顶部的中间标签中。它会随着输入框中的值的更改而更改。IntVar()通过单击该按钮递增。

选择 | 换行 | 行号
  1. import Tkinter
  2.  
  3. class EntryTest:
  4.    """ shows using the same StringVar in the second list box
  5.        and in the entry box
  6.    """
  7.    def __init__(self):
  8.       self.top = Tkinter.Tk()
  9.       self.top.title("Test of Entry")
  10.       self.top.geometry("200x150+10+10")
  11.  
  12.       self.str_1 = Tkinter.StringVar()
  13.       label_lit = Tkinter.StringVar()
  14.       self.int_lit = Tkinter.IntVar()
  15.       self.int_ctr = 0
  16.  
  17.       label_1 = Tkinter.Label(self.top, textvariable = label_lit )
  18.       label_1.pack()
  19.       label_lit.set( "Test of Label")
  20.  
  21.       Tkinter.Label(self.top, textvariable = self.str_1 ).pack()
  22.  
  23.       Tkinter.Label(self.top, textvariable = self.int_lit ).pack()
  24.       self.int_lit.set(self.int_ctr)
  25.  
  26.       self.entry_1=Tkinter.Entry(self.top, textvariable=self.str_1)
  27.       self.entry_1.pack()
  28.       self.str_1.set( "Entry Initial Value" )
  29.  
  30.       print_button = Tkinter.Button(self.top, text='INCREMENT INT VAR',
  31.                      command=self.getit, bg='blue', fg='white' )
  32.       print_button.pack(fill=Tkinter.X, expand=1)
  33.  
  34.       exit_button= Tkinter.Button(self.top, {"text":'EXIT',
  35.                    "command":self.top.quit, "bg":'red', "fg":'white'} )
  36.       exit_button.pack(fill=Tkinter.X, expand=1)
  37.  
  38.       self.entry_1.focus_set()
  39.  
  40.       self.top.mainloop()
  41.  
  42.    ##-----------------------------------------------------------------
  43.    def getit(self) :
  44.       self.int_ctr += 1
  45.       self.int_lit.set(self.int_ctr)
  46.  
  47.  
  48. ##===============================================================
  49. if "__main__" == __name__  :
  50.    ET=EntryTest()
  51.    print "under __main__ =", ET.str_1.get() 

标签: python

添加新评论