PyQt5实现数据动态显示【超简单,附源码】

UI文件的获取

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在Pycharm导入ui文件

在这里插入图片描述
在这里插入图片描述

窗口的初次显示

在这里插入图片描述
在这里插入图片描述

编写ui驱动代码

from guitest import Ui_MainWindow           #导入我们的ui文件
from PyQt5.QtWidgets import *               #导入pyqt的相关文件
import sys                                  #导入系统库




if __name__ == "__main__":
    #创建应用程序
    app = QApplication(sys.argv)
    #创建主界面
    main_window = QMainWindow()
    ui = Ui_MainWindow()
    #进行主界面的继承
    ui.setupUi(main_window)
    #主界面的展示
    main_window.show()
    #等待关闭
    sys.exit(app.exec())

运行后

在这里插入图片描述

使图标动态显示

from guitest import Ui_MainWindow           #导入我们的ui文件
from PyQt5.QtWidgets import *               #导入pyqt的相关文件
import sys                                  #导入系统库

#挂件所需要的库
import matplotlib.pyplot as plt
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas


#动态显示需要的线程库
import time,threading

#初始化挂件
hear_figure, hear_figure_x = plt.subplots()
canvas = FigureCanvas(hear_figure)


def dynamic_update_figure_data(data =[i for i in range(1000)],  sleep = 0.01):
    global hear_figure, hear_figure_x
    global thread_hear_flag, hear_pause_flag

    #数据宽度
    data_length = len(data)
    #缓存区
    data_cache = [0] * data_length
    #由于本次绘图不再更新坐标轴,所以必须指明高度
    hear_figure_x.set_ylim([0, max(data)])
    #首次绘制
    line_sin, = hear_figure_x.plot(data_cache)
    while 1:
        #判断是否已经全部显示完
        if data == []:
            break
        #舍去第一个数据
        data_cache.pop(0)
        #把数据添加到缓存的最后一个数据
        data_cache.append(data.pop(0))
        #重新显示缓存区数据
        line_sin.set_ydata(data_cache)
        canvas.draw()
        time.sleep(sleep)




def start_draw():
    #不能用.run(),不然会阻塞运行,不能动态显示
    draw_thread = threading.Thread(target=dynamic_update_figure_data, args=())
    draw_thread.start()


if __name__ == "__main__":
    #创建应用程序
    app = QApplication(sys.argv)
    #创建主界面
    main_window = QMainWindow()
    ui = Ui_MainWindow()
    #进行主界面的继承
    ui.setupUi(main_window)
    ui.gridLayout.addWidget(canvas)
    ui.pushButton.clicked.connect(start_draw)

    #主界面的展示
    main_window.show()
    #等待关闭
    sys.exit(app.exec())

运行后


在这里插入图片描述
在这里插入图片描述

觉得不错记得点赞

  • 33
    点赞
  • 156
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
【资源说明】 课程设计基于PyQt5+Python开发的远程医疗云监控系统源码+运行说明(多线程+Socket通信).tar课程设计基于PyQt5+Python开发的远程医疗云监控系统源码+运行说明(多线程+Socket通信).tar课程设计基于PyQt5+Python开发的远程医疗云监控系统源码+运行说明(多线程+Socket通信).tar课程设计基于PyQt5+Python开发的远程医疗云监控系统源码+运行说明(多线程+Socket通信).tar课程设计基于PyQt5+Python开发的远程医疗云监控系统源码+运行说明(多线程+Socket通信).tar 课程设计基于PyQt5+Python开发的远程医疗云监控系统源码+运行说明(多线程+Socket通信).tar 课程设计基于PyQt5+Python开发的远程医疗云监控系统源码+运行说明(多线程+Socket通信).tar 课程设计基于PyQt5+Python开发的远程医疗云监控系统源码+运行说明(多线程+Socket通信).tar 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酸奶可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值