tkinter动态表格 - 实时更新数据(TkinterTable)
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)相关推荐
- echarts简单使用、echarts通过计时器进行动态更新数据、echarts连接数据库实时更新数据
1.echarts引入 在官网下载并放入项目中. 引入echarts.js文件: <script src="./echarts.js"></script> ...
- Echarts实时更新数据
先了解一下什么是AJAX AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这 ...
- 如何实现DataGridView实时更新数据【Z】
原帖:http://bbs.bccn.net/thread-341646-1-1.html 最近一直在研究调度 涉及到用调度实时给客户发送短信的功能 其中就有用到实时更新的显示发送状态的 当然 今天不 ...
- [转载]Qt之模型/视图(实时更新数据)
原文地址:Qt之模型/视图(实时更新数据)作者:一去丶二三里 上两节简单介绍了Qt中对于模型/视图的编程,大部分助手里说的很清楚了,现在就开始实战部分吧! 在实际应用中,视图展示的数据往往并非一成不变 ...
- [转载]Qt之模型/视图(实时更新数据)_vortex_新浪博客
原文地址:Qt之模型/视图(实时更新数据)作者:一去丶二三里 上两节简单介绍了Qt中对于模型/视图的编程,大部分助手里说的很清楚了,现在就开始实战部分吧! 在实际应用中,视图展示的数据往往并非一成不变 ...
- 微信小程序使用echarts实时更新数据以及常见bug
** 微信小程序使用echarts实时更新数据以及常见bug ** 参考echarts官方文档:https://echarts.apache.org/zh/tutorial.html 下载小程序ech ...
- Qt学习:QtCharts绘制动态曲线,实时更新数据与坐标轴
前言:很久之前写了这篇文章后一直未进行修改更新,最近重新整理了代码和扩展了使用方式.代码路径见github: https://github.com/LYH-ux/Qt_Projects.git ,下文 ...
- datagridview实时更新数据_旭诺云盒|智能办公新趋势进出口数据自动提取,通关状态实时更新...
春节期间,很多公司同事都被滞留在老家无法返回公司上班,为了保证公司业务正常运转,同事之间依靠邮件.微信.QQ等工具进行文件和数据的传递,增加了很多数据整理时间.且电子口岸.单一窗口这些进出口企业频繁使 ...
- datagridview实时更新数据_急报!福布斯实时数据更新马云身家656亿美元登顶中国首富...
10月29日,蚂蚁集团正式开启申购.随着蚂蚁集团上市在即,福布斯实时更新了马云的身家.数据显示,截止到12:00,其身家已达656亿美元,再次登顶中国首富. 福布斯中国富豪榜实时数据 按马云持股阿里巴 ...
最新文章
- linux网站配置文件,Linux网站服务器配置文件
- java中的强制类型转换:int和byte
- 检测iOS的APP性能的一些方法
- OpenSSL以及私有CA的搭建
- 168.167Excle表列整数字符和字符整数的互相转化
- linux 上 日志中查异常,指定显示异常前后日志内容
- Tips/Tricks#4:不同页面之间传递值
- 公司有代理 虚拟机安装ubuntu不能上外网
- 如何避免OOM 异常?
- python中yield讲解_「技术」如何深入理解Python中的 yield?
- [No00002E]关于大数据,你不知道的6个迷思
- 好开心,明天就上班了
- sdut3138: N!(计算n!中结尾零的个数)
- c#中抽象类和接口异同
- 区块链 Scilla是什么
- 计算机硬件基本常识面试,硬件工程师面试题集(含答案_很全)要点
- Flexsim国外视频教程
- java uuid 随机数_Java随机数和UUID
- 《当程序员的那些狗日日子》(五十三)破局(中)
- 计算机sci二区期刊,图像处理的sci二区期刊有哪些