ajax实现动态及时刷新表格数据_如何利用Python3和PyQt5来实现控件数据动态刷新...

        最近笔者在做一个pyqt5的界面,由于在日常生活中,一些实际运用的场合都需要对数据进行实时的刷新,例如对某个数值的监控,水温,室温的监控等等,都需要实时的刷新控件显示的数据。

       对于实现这样的一种功能,pyqt5在面板生成的同时就固定住了UI中的数据,例如我们产生一个QLineEdit控件,然后布局在面板上,但是控件中的数据是固定的,如果这个数据是实时更新的,想要改变空间中的数据时,就要去刷新面板,pyqt5提供了一个QApplication.processEvents()的命令来刷新整个面板,但是要完成数据的动态显示,则要不断的去调用这个函数来刷新面板,同样,以使用多线程去刷新面板上的数据,但是通过搜索各种大佬的博客等,发现了pyqt5多线程刷新的各种问题,即大佬主要使用多线程来对控件显示的数据进行实时的刷新。

1. PyQt5不能在子线程中刷新线程,这样会造成界面卡死,因此不能使用常规的多线程刷新UI。

2. 但是又必须要实现子线程和主线程之间的通信,否则无法得知任务是否完成。因此使用PyQt5中的QThread,这样既可以使用信号机制,又能够使用多线程。

3. 当启动多线程后,注册信号,槽函数为主线程中的函数,当任务完成后,发射信号,在主线程中对UI进行更新。

      本文旨在演示一种使用定时器来刷新控件实现数据的方法,具体代码如下:

imp

你可能感兴趣的:(ajax实现动态及时刷新表格数据_如何利用Python3和PyQt5来实现控件数据动态刷新...)