先上视频,30行代码(含空行),只用内置模块,实现绘图与其他控件混合布局。
进一步就可以实现如下“虚拟示波器”演示:
from tkinter import *
import time
import mathdef btn():print('btn pressed')win = Tk()
win.geometry('1025x525+500+100')cv = Canvas(win,width=1000, height=500,bg='black')
cv.place(x=10,y=10)btn = Button(win, text='按钮', command= btn)
btn.place(x=30,y=30) k=0
while 1: k=k+1if k>90:k=0time.sleep(0.5) data = []for i in range(1000):data.append(i)data.append(math.sin(i/(100-k))*150+250)wav = cv.create_line(data, width =5, fill="green")win.update()time.sleep(0.02)cv.delete(wav)
啰嗦几句:
matplotlib echarts chartjs 这些都是很优秀工具,可以方便绘制各种漂亮的图表,喜欢就用,不排斥。
但是,除了跑例程以外,想添加些控件,与串口配合等,那之前有多爽,就会有多坑,毕竟别人的框架得按别人的套路走,学习成本是必须要的,而且由于版本迭代,某些语法已经过时,搜到的代码跑起来可能各种 err,排错的时间远多于实际绘制图形的时间。通俗点就是吃饭1分钟,做饭1小时。
上面这30行代码仅用内置模块,没有用第三方库,基本没有太多调试就成功了,而且打包成exe时文件大小仅10M。
demo.exe下载链接:https://pan.baidu.com/s/1QSGiVqs7fi_zSH2enxkrgg?pwd=0000
(exe这类文件可能在下载时遇到风险提示,请自行判断并杀毒)
【 更多原创内容, 欢迎访问: jiangge12.github.io 】