我想在GUI中显示实时数据,格式为tkinter
。我得到的数据包含两个整数[current, voltage]
的list
。我每秒都得到新数据。
我设法创建了一个GUI,现在我想知道如何在GUI Label
小部件(python tkinter)中显示数据并动态更新标签。
下面是我目前的代码:
#data getting is a list eg. [10, 12]
from tkinter import *
import tkinter.font
#main Window using Tk
win = Tk()
win.title("v1.0")
win.geometry('800x480')
win.configure(background='#CD5C5C')
#Labels
voltage = Label(win, text = "voltage")
voltage.place(x=15, y=100)
current = Label(win, text = "current")
current.place(x=15, y=200)
#display measured values
#how to display here !!!
currentValues = Label(win, text = "want to display somewhere like this")
currentValues.place(x=200, y=100)
voltageValues = Label(win, text = "want to display somewhere like this")
voltageValues.place(x=200, y=200)
mainloop()
4条答案
按热度按时间6l7fqoea1#
如果您想要绘制即时数据的图形,而且不想使用其他程式库来替您完成这项工作,您可能会发现下列内容是建立您自己图形的启发性起点。当评估标准程式库中的
math.sin
函式时,范例会绘制完整的值圆。程式码会考虑自动采样、调整大小和视需要更新,而且应该会有相当的回应。ff29svar2#
您可以动态变更标示文字:
这是一种将
textvariable
选项与StringVar
和.set()
一起使用的方法另一种方法简单地使用
.configure()
方法最后,要使UI更新而不等待循环的其余部分,请执行更新
wfveoks03#
在浏览了有关实时图的some demos in Stock overflow的详细信息后,我终于找到了在我为 * Keithley 2410 * 编写的 * 类对象 * 中绘制实时电流-电压的方法,在该对象中,我想绘制从用于扫描电压的
for loop
中读取的实时电流-电压数据。整个脚本如下图:
这段代码运行正常,输出结果如Graph所示。我希望它能对您有所帮助。x1c 0d1x。
whitzsjs4#
我想在GUI中显示一些实时数据。
我想你要做的是使用
.after()
方法。.after()
方法将tkinter
排队,在设定的时间后运行一些代码。例如:
after方法中的1000个单位是最接近1秒的精确值。