PyQt5實時曲線實現(肺功能儀,呼吸機)

2021-10-14 03:51:34 字數 2479 閱讀 7321

pyqt5——實時曲線

摘自大佬:

稍微修改了一下,僅做筆記,還會新增功能

import sys

import random

from pyqt5.qtchart import qdatetimeaxis, qvalueaxis, qsplineseries, qchart, qchartview

from pyqt5.qtgui import qpainter

from pyqt5.qtcore import qdatetime, qt, qtimer

class

demo

(qchartview, qchart)

:def

__init__

(self)

:super

(demo, self)

.__init__(

) self.setwindowtitle(

'肺功能實時資料顯示'

) self.resize(

800,

600)

self.setrenderhint(qpainter.antialiasing)

# 抗鋸齒

self.chart1(

) self.timer1(

)def

chart1

(self)

: self.chart = qchart(

) self.series = qsplineseries(

)# 設定曲線名稱

self.series.setname(

"資料"

)# 把曲線新增到qchart的例項中

self.chart.addseries(self.series)

#宣告並初始化x軸,y軸

self.dtaxisx = qdatetimeaxis(

) self.vlaxisy = qvalueaxis(

)# 設定座標軸顯示範圍

self.vlaxisy.setmin(

-150

) self.vlaxisy.setmax(

150)

# 設定x軸時間樣式

self.dtaxisx.setformat(

"hh:mm:ss"

)# 設定座標軸上的格點

self.dtaxisx.settickcount(10)

self.vlaxisy.settickcount(11)

# 設定座標軸名稱

self.dtaxisx.settitletext(

"time"

) self.vlaxisy.settitletext(

"volume"

)# 設定網格不顯示

self.vlaxisy.setgridlinevisible(

true

)# 把座標軸新增到chart中

self.chart.addaxis(self.dtaxisx, qt.alignbottom)

self.chart.addaxis(self.vlaxisy, qt.alignleft)

# 把曲線關聯到座標軸

self.series.attachaxis(self.dtaxisx)

self.series.attachaxis(self.vlaxisy)

self.setchart(self.chart)

deftimer1

(self)

:# qtimer更新資料

self.timer = qtimer(self)

self.timer.timeout.connect(self.line)

self.timer.start(

500)

# 0.5s更新資料

defline

(self)

:# 獲取當前時間

bjtime = qdatetime.currentdatetime(

)# 更新x軸座標

self.dtaxisx.setmin(qdatetime.currentdatetime(

).addsecs(-20

))self.dtaxisx.setmax(qdatetime.currentdatetime(

).addsecs(0)

)# 產生隨即數

yint = random.randint(

-100

,100

)# 新增資料到曲線末端

), yint)

if __name__ ==

"__main__"

: d = demo(

) d.show())

)

最終結果:

pyqt5切換python版本 pyqt5介面切換

主要的思路就是建立兩個frame 如果有兩個以上同理 使用setvisible 函式顯示或者隱藏frame 引數是bool值 import sys from pyqt5.qtwidgets import from pyqt5.qtcore import from pyqt5.qtgui import...

pyqt5多執行緒優化 PyQt5多執行緒

您不應該向主檢視傳送乙個新的小部件 qlabel 因為它將是乙個新標籤,而不是原始標籤,您應該傳送str型別的文字class thread qthread changepixmap pyqtsignal qpixmap changelabel pyqtsignal str def run self ...

PyQT5 學習使用 筆記 一 安裝pyQT5

之前已經學習過了qt 的 基本使用了解了 訊號和槽 的機制。由於新專案需要跨平台,所以 在視覺開發包的選擇上 選擇了opencv python,所幸 qt也有pyqt5 的包可以和 opencv python 聯合使用開發。廢話不說了 開始安裝吧。開啟cmd命令列介面輸入 pip install p...