tkinter动态表格 - 实时更新数据(TkinterTable)

参考

  • [TkinterTable] Tkinter上的表格GUI】

  • https://github.com/dmnfarrell/tkintertable/wiki/Usage

  • https://github.com/dmnfarrell/tkintertable/issues/47

  • python使用tkinter编写一个数据显示窗口(实时显示更新的数据)

首先安装TkinterTable,即pip install tkintertable

一开始想使用matplotlib实现动态表格,但是由于数据刷新太快,导致plt来不及绘制,因此考虑使用tkinterGUI界面来实现。要实现表格动态更新,则 mainLoop需要在主进程中执行数据更新函数用子线程1来运行,监听事件函数(after函数)用子线程2来运行。代码如下:

#参考 https://zhuanlan.zhihu.com/p/359971449,
# https://github.com/dmnfarrell/tkintertable/wiki/Usage
# https://github.com/dmnfarrell/tkintertable/issues/47from tkintertable import TableCanvas, TableModel
from tkinter import *
import tkinter
import random
import time
import threadingdef update(table):while(True):time.sleep(1)# cols = table.model.columnNames  # get the current columnsdata["row1"]["col2"] = random.random()  # use row and column names, not cell coordinates# table.model.setValueAt(value, rowindex, colindex)  ##use cell coordsdata["row1"]["col1"] = ""  # use row and column names, not cell coordinatestable.redrawTable()def monitor(master,table):master.after(100,update(table))if __name__ == '__main__':master = tkinter.Tk() #主窗口master.geometry('600x400')tframe = Frame(master)  #子窗口tframe.pack()  #布局data = {'row1': {'col1':'', 'col2': '状态1', 'col3': '状态2', 'col4': '状态3', 'col5': '状态4'},'row2': {'col1': '眉毛', 'col2': 'b1', 'col3': 'b2', 'col4': 'b3', 'col5': '/'},'row3': {'col1': '眨眼', 'col2': 'e1', 'col3': 'e2', 'col4': 'e3', 'col5': '/'},'row4': {'col1': '嘴巴', 'col2': 'm1', 'col3': 'm2', 'col4': '/', 'col5': '/'},'row5': {'col1': '头部姿态', 'col2': 'h1', 'col3': 'h2', 'col4': 'h3', 'col5': 'h4'},# 'row5': {'头部姿态': "", 'col2': 108.79, 'label': '2'}}table = TableCanvas(tframe, data=data)  #table组件挂载到frame子窗口上table.show()#主进程运行master,子线程运行更新代码t1 = threading.Thread(target=update,args=(table,))  #更新数据t2 = threading.Thread(target=monitor,args=(master,table))  #监听数据并修改表格t1.start()t2.start()master.mainloop()

效果如下:

tkinter动态表格 - 实时更新数据(TkinterTable)相关推荐

  1. echarts简单使用、echarts通过计时器进行动态更新数据、echarts连接数据库实时更新数据

    1.echarts引入 在官网下载并放入项目中. 引入echarts.js文件: <script src="./echarts.js"></script> ...

  2. Echarts实时更新数据

    先了解一下什么是AJAX AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这 ...

  3. 如何实现DataGridView实时更新数据【Z】

    原帖:http://bbs.bccn.net/thread-341646-1-1.html 最近一直在研究调度 涉及到用调度实时给客户发送短信的功能 其中就有用到实时更新的显示发送状态的 当然 今天不 ...

  4. [转载]Qt之模型/视图(实时更新数据)

    原文地址:Qt之模型/视图(实时更新数据)作者:一去丶二三里 上两节简单介绍了Qt中对于模型/视图的编程,大部分助手里说的很清楚了,现在就开始实战部分吧! 在实际应用中,视图展示的数据往往并非一成不变 ...

  5. [转载]Qt之模型/视图(实时更新数据)_vortex_新浪博客

    原文地址:Qt之模型/视图(实时更新数据)作者:一去丶二三里 上两节简单介绍了Qt中对于模型/视图的编程,大部分助手里说的很清楚了,现在就开始实战部分吧! 在实际应用中,视图展示的数据往往并非一成不变 ...

  6. 微信小程序使用echarts实时更新数据以及常见bug

    ** 微信小程序使用echarts实时更新数据以及常见bug ** 参考echarts官方文档:https://echarts.apache.org/zh/tutorial.html 下载小程序ech ...

  7. Qt学习:QtCharts绘制动态曲线,实时更新数据与坐标轴

    前言:很久之前写了这篇文章后一直未进行修改更新,最近重新整理了代码和扩展了使用方式.代码路径见github: https://github.com/LYH-ux/Qt_Projects.git ,下文 ...

  8. datagridview实时更新数据_旭诺云盒|智能办公新趋势进出口数据自动提取,通关状态实时更新...

    春节期间,很多公司同事都被滞留在老家无法返回公司上班,为了保证公司业务正常运转,同事之间依靠邮件.微信.QQ等工具进行文件和数据的传递,增加了很多数据整理时间.且电子口岸.单一窗口这些进出口企业频繁使 ...

  9. datagridview实时更新数据_急报!福布斯实时数据更新马云身家656亿美元登顶中国首富...

    10月29日,蚂蚁集团正式开启申购.随着蚂蚁集团上市在即,福布斯实时更新了马云的身家.数据显示,截止到12:00,其身家已达656亿美元,再次登顶中国首富. 福布斯中国富豪榜实时数据 按马云持股阿里巴 ...

最新文章

  1. linux网站配置文件,Linux网站服务器配置文件
  2. java中的强制类型转换:int和byte
  3. 检测iOS的APP性能的一些方法
  4. OpenSSL以及私有CA的搭建
  5. 168.167Excle表列整数字符和字符整数的互相转化
  6. linux 上 日志中查异常,指定显示异常前后日志内容
  7. Tips/Tricks#4:不同页面之间传递值
  8. 公司有代理 虚拟机安装ubuntu不能上外网
  9. 如何避免OOM 异常?
  10. python中yield讲解_「技术」如何深入理解Python中的 yield?
  11. [No00002E]关于大数据,你不知道的6个迷思
  12. 好开心,明天就上班了
  13. sdut3138: N!(计算n!中结尾零的个数)
  14. c#中抽象类和接口异同
  15. 区块链 Scilla是什么
  16. 计算机硬件基本常识面试,硬件工程师面试题集(含答案_很全)要点
  17. Flexsim国外视频教程
  18. java uuid 随机数_Java随机数和UUID
  19. 《当程序员的那些狗日日子》(五十三)破局(中)
  20. 计算机sci二区期刊,图像处理的sci二区期刊有哪些

热门文章

  1. bluekitchen-stm32f1/csr8311移植笔记(1)-开发环境配置
  2. 米币中心服务器出错,体验MIUI:小米桌面(内有福利)
  3. 记录一下网络爬虫实战scrapy---某蜜蜂网站
  4. 小天带你轻松解决Mybatis延迟加载原理源码问题
  5. 智慧新能源电站远程监控系统总体设计
  6. 安全合规/ISO--2--ISO 27001介绍
  7. HTTP请求报文和响应报文信息
  8. 轻量级关系数据库SQLite的安装和SpringBoot整合
  9. WorldCereal下玉米和小麦全球作物日历
  10. c# char*字符串指针