当前位置: 首页 > article >正文

MCSA --- make coding simple again

先上视频,30行代码(含空行),只用内置模块,实现绘图与其他控件混合布局。

进一步就可以实现如下“虚拟示波器”演示:

from tkinter import *
import time
import math

def 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+1
  if k>90:
    k=0
    time.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 】


http://www.kler.cn/a/409338.html

相关文章:

  • nginx配置不缓存资源
  • 【MyBatis】全局配置文件—mybatis.xml 创建xml模板
  • springboot 使用笔记
  • 基于STM32的智能家居电器控制系统
  • 【视频】二维码识别:libzbar-dev、zbar-tools(zbarimg )
  • Redis——Raft算法
  • C#里怎么样实现多播委托?
  • AIGC-------AIGC与创意写作:威胁还是机遇?
  • [webgis 0基础到找工作]------JavaScript进阶--作用域,解构,函数 day14
  • [webgis 0基础到找工作]------JavaScript--Bom day12
  • 地平线 bev_cft_efficientnetb3 参考算法-v1.2.1
  • 如何进行高级红队测试:OpenAI的实践与方法
  • HTTPSOK ---助力阿里云免费 SSL 证书自动续期
  • 废品买卖回收管理系统|Java|SSM|Vue| 前后端分离
  • Jmeter中的定时器
  • 基于STM32F103的FreeRTOS系列(十四)·软件定时器
  • 【Excel】拆分多个sheet,为单一表格
  • 微调Helsinki-NLP-en-zh模型
  • Python爬虫:如何从1688阿里巴巴获取公司信息
  • RTVS视频服务应用
  • [Golang]传递一个切片(slice)和使用变参(...)语法传递多个参数之间的区别
  • 力扣第 62 题(Unique Paths)两种递归实现
  • 40分钟学 Go 语言高并发:原子操作与CAS
  • nature communications论文 解读
  • 泷羽sec-----shell编程(完结)
  • 修复HIve表乱码问题