pyqt如何显示实时数据
来源:互联网 发布:php lastindexof 编辑:程序博客网 时间:2024/06/05 18:31
就是这下面
PyQt的signal-slot机制不就是干这个的吗,你要输入的输入框比如LineEdit对应一个slot,处理的地方发送一个signal,剩下的就由PyQt自己做绑定,都不用具体的函数调用,代码看起来清爽多了
下面这个例子,BackendThread模拟后台线程,数据处理完了更新到前台,一秒钟一刷新,换成你自己的逻辑就可以
# -*- coding: utf-8 -*-from PyQt4.Qt import *from PyQt4.QtCore import *from PyQt4.QtGui import *import timeclass Backend(QThread): update_date = pyqtSignal(QString) def run(self): while True: data = QDateTime.currentDateTime() self.update_date.emit(QString(str(data))) time.sleep(1)class Window(QDialog): def __init__(self): QDialog.__init__(self) self.resize(400, 100) self.input = QLineEdit(self) self.input.resize(400, 100) def handleDisplay(self, data): self.input.setText(data)if __name__ == '__main__': import sys app = QApplication(sys.argv) b = Backend() w = Window() b.update_date.connect(w.handleDisplay) b.start() w.show() app.exec_()
画动态更新图通过定时器Timer触发事件,定时更新绘图,可以形成动态更新图片。下面的实例是学习《matplotlib for Pythondevelopers》一文的笔记。
实例如下:
通过self.user = self.user[1:] + [temp],每次删除列表的第一元素,在其尾部添加新的元素。这样完成user数据的动态更新。其他详细的解释见文中的注释部分。
运行结果如下所示:
但程序运行在关闭的时候会出现应用程序错误,不知道什么问题。python不是有垃圾回收机制吗,难道是内存泄露?
猜测的原因可能是在关闭的时候正在绘图故导致应用程序出错。通过添加Frame的析构函数,停止更新则不会出现问题。
python 学习之读串口Python中用于读串口的模块是 pySerial,使用非常的方便,可以从http://pypi.python.org/pypi/pyserial下载其安装包。
读取串口时首先导入包 import serial,其次设置读取哪一个口、波特率、数据位、停止位。
serial的原型如下:
port:如COM1,COM2,COM3,COM4......如果port设置为0对应的为COM1baudrate:设置波特率
bytesize:数据位
stopbits:停止位
timeout:超时时间
- timeout = None: 长时间等待
- timeout = 0: 不阻塞形式 (读完之后就返回)
- timeout = x: x秒后超时 (float allowed)
简单的实例如下:
更加详细的使用参见其官方文档。与wxpython的交互
通过上面学习,知道Python与matplotlib交互有三种方式,与GUI交互采用第三种方法面向对象法。 首先知道Matplotlib的常见对象Figure,FigureCanvas,Axes。
需要导入一下几个模块:
首先简单介绍一下FigureCanvs 这是一个wxWidgets对象,继承自wxPanel,故可以通过其嵌入到wxWidgets应用程序。下面学习一个简单的实例:
同笔记1介绍的面向对象方法基本一致,最后将figure加到FigureCanvas上面即可完成图像的绘制。
再前面导入from matplotlib.backends.backend_wx import NavigationToolbar2Wx可以创建导航工具栏,需要添加BoxSizer()对象来控制排版。
- pyqt如何显示实时数据
- 页面显示实时数据
- 使用AJAX实时显示数据
- jQuery实时刷新显示数据
- PyQt编程之如何在屏幕中央显示窗体
- javascript原生移动云编程7 - 如何调用云数据服务显示实时天气
- 【Websoket】实时推送图像数据,前端实时显示
- C# chart控件实时动态显示数据
- 实时请求获取数据重复显示解决办法
- Linux 获取摄像头数据并实时显示
- Android手机传感器及实时数据显示
- python调用C++,并在C++代码执行时,实时返回信息到pyqt的控件上显示
- 如何在列表框中实时显示
- android如何实时显示sqlite数据库内容
- 如何实现searchBar显示实时检索结果
- UE4程序如何实时显示帧数
- PyCharm如何集成PyQt
- listview的item中有个checkbox,点击后会修改相应数据库数据,如何在listview中实时显示这个更新?
- HDU 1257
- The xor-longest Path POJ
- c#中@的3种作用
- hdu 1114 Piggy-Bank 【完全背包】
- 如何选择机器学习算法
- pyqt如何显示实时数据
- 待学习的姿势
- aaaaa
- Python高阶函数map&reduce&filter总结
- Hdu6092 Rikka with Subset(2017多校第5场) 逆推背包
- tensorflow安装protobuf
- java:面向对象的三大特性之一:继承
- AUTOCAD学习笔记1:.net Framework版本的更改
- TensorFlow常用函数