之前一直用爬虫捉取路由实时上下载的记录用数据库保存,有时可用matplotlib来查看时间与上下传的曲线图,但是静态的,查询的时间段需自行认定,虽然qt的日历类可以比较方便取日期按日期查,但总觉要点有点麻烦,又不想看24小时的数据,截取最近几小时观看数据并实时展示应该是很好的方式,经百度发现pyqt有个很方便的库来展示动态数据,这个库是pyqtchart,安装PyQt时并没有这个库的,需另行安装,pip install pyqtchart安装就可以了,下面就结合代码和实际情况记录一下。
import sqlite3,sys,time
from datetime import datetime
from PyQt5.QtChart import QDateTimeAxis,QValueAxis,QSplineSeries,QChart,QChartView
from PyQt5.QtWidgets import QApplication
from PyQt5.QtGui import QPainter
from PyQt5.QtCore import QDateTime,Qt,QTimer
class ChartView(QChartView,QChart): #原代码如此,继承了两个类,其实去掉QChart也没影响
def __init__(self, *args, **kwargs):
super(ChartView, self).__init__(*args, **kwargs)
self.connect = sqlite3.connect("netdata.db") #数据库,表名为t1,包括时间(年月日时分秒的方式,用sqlite的自动时间截生成的,为方便自己看,转成年月日,结果是个坑