-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathspo2_window.py
More file actions
286 lines (279 loc) · 15.9 KB
/
spo2_window.py
File metadata and controls
286 lines (279 loc) · 15.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'spo2_window.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1049, 593)
MainWindow.setMinimumSize(QtCore.QSize(1049, 0))
MainWindow.setMaximumSize(QtCore.QSize(16777215, 16777215))
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout_3 = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout_3.setObjectName("gridLayout_3")
self.graph = PlotWidget(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.graph.sizePolicy().hasHeightForWidth())
self.graph.setSizePolicy(sizePolicy)
self.graph.setMinimumSize(QtCore.QSize(0, 0))
self.graph.setObjectName("graph")
self.gridLayout_3.addWidget(self.graph, 0, 0, 1, 1)
self.verticalLayout_4 = QtWidgets.QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.gridFrame = QtWidgets.QFrame(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.gridFrame.sizePolicy().hasHeightForWidth())
self.gridFrame.setSizePolicy(sizePolicy)
self.gridFrame.setMaximumSize(QtCore.QSize(657, 450))
self.gridFrame.setObjectName("gridFrame")
self.gridLayout = QtWidgets.QGridLayout(self.gridFrame)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setVerticalSpacing(0)
self.gridLayout.setObjectName("gridLayout")
self.gridFrame_2 = QtWidgets.QFrame(self.gridFrame)
self.gridFrame_2.setMaximumSize(QtCore.QSize(300, 16777215))
self.gridFrame_2.setObjectName("gridFrame_2")
self.gridLayout_2 = QtWidgets.QGridLayout(self.gridFrame_2)
self.gridLayout_2.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
self.gridLayout_2.setObjectName("gridLayout_2")
self.tableWidget = QtWidgets.QTableWidget(self.gridFrame_2)
self.tableWidget.setRowCount(0)
self.tableWidget.setColumnCount(2)
self.tableWidget.setObjectName("tableWidget")
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(1, item)
self.tableWidget.horizontalHeader().setCascadingSectionResizes(False)
self.gridLayout_2.addWidget(self.tableWidget, 1, 0, 1, 1)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.button_update = QtWidgets.QPushButton(self.gridFrame_2)
self.button_update.setEnabled(True)
self.button_update.setObjectName("button_update")
self.horizontalLayout_3.addWidget(self.button_update)
self.button_reload = QtWidgets.QPushButton(self.gridFrame_2)
self.button_reload.setObjectName("button_reload")
self.horizontalLayout_3.addWidget(self.button_reload)
self.button_add_row = QtWidgets.QPushButton(self.gridFrame_2)
self.button_add_row.setMaximumSize(QtCore.QSize(16777215, 29))
font = QtGui.QFont()
font.setFamily("Loma")
font.setPointSize(18)
font.setBold(False)
font.setWeight(50)
self.button_add_row.setFont(font)
self.button_add_row.setObjectName("button_add_row")
self.horizontalLayout_3.addWidget(self.button_add_row)
self.gridLayout_2.addLayout(self.horizontalLayout_3, 2, 0, 1, 1)
self.label_5 = QtWidgets.QLabel(self.gridFrame_2)
self.label_5.setObjectName("label_5")
self.gridLayout_2.addWidget(self.label_5, 0, 0, 1, 1)
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.label_6 = QtWidgets.QLabel(self.gridFrame_2)
self.label_6.setObjectName("label_6")
self.verticalLayout_2.addWidget(self.label_6)
self.graph_2 = PlotWidget(self.gridFrame_2)
self.graph_2.setMinimumSize(QtCore.QSize(100, 150))
self.graph_2.setObjectName("graph_2")
self.verticalLayout_2.addWidget(self.graph_2)
self.gridLayout_2.addLayout(self.verticalLayout_2, 3, 0, 1, 1)
self.gridLayout.addWidget(self.gridFrame_2, 0, 1, 1, 1)
self.verticalFrame = QtWidgets.QFrame(self.gridFrame)
self.verticalFrame.setMaximumSize(QtCore.QSize(300, 16777215))
self.verticalFrame.setObjectName("verticalFrame")
self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalFrame)
self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
self.verticalLayout.setObjectName("verticalLayout")
self.label = QtWidgets.QLabel(self.verticalFrame)
self.label.setObjectName("label")
self.verticalLayout.addWidget(self.label)
self.lcd_r = QtWidgets.QLCDNumber(self.verticalFrame)
self.lcd_r.setMinimumSize(QtCore.QSize(299, 78))
self.lcd_r.setObjectName("lcd_r")
self.verticalLayout.addWidget(self.lcd_r)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout.addItem(spacerItem)
self.label_4 = QtWidgets.QLabel(self.verticalFrame)
self.label_4.setObjectName("label_4")
self.verticalLayout.addWidget(self.label_4)
self.lcd_r_avg = QtWidgets.QLCDNumber(self.verticalFrame)
self.lcd_r_avg.setMinimumSize(QtCore.QSize(299, 78))
self.lcd_r_avg.setObjectName("lcd_r_avg")
self.verticalLayout.addWidget(self.lcd_r_avg)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout.addItem(spacerItem1)
self.label_2 = QtWidgets.QLabel(self.verticalFrame)
self.label_2.setObjectName("label_2")
self.verticalLayout.addWidget(self.label_2)
self.lcd_spo2 = QtWidgets.QLCDNumber(self.verticalFrame)
self.lcd_spo2.setMinimumSize(QtCore.QSize(299, 78))
self.lcd_spo2.setFrameShadow(QtWidgets.QFrame.Plain)
self.lcd_spo2.setLineWidth(2)
self.lcd_spo2.setObjectName("lcd_spo2")
self.verticalLayout.addWidget(self.lcd_spo2)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout.addItem(spacerItem2)
self.label_3 = QtWidgets.QLabel(self.verticalFrame)
self.label_3.setObjectName("label_3")
self.verticalLayout.addWidget(self.label_3)
self.lcd_heart = QtWidgets.QLCDNumber(self.verticalFrame)
self.lcd_heart.setMinimumSize(QtCore.QSize(299, 78))
self.lcd_heart.setObjectName("lcd_heart")
self.verticalLayout.addWidget(self.lcd_heart)
self.gridLayout.addWidget(self.verticalFrame, 0, 0, 1, 1)
self.verticalLayout_4.addWidget(self.gridFrame)
spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_4.addItem(spacerItem3)
self.gridLayout_3.addLayout(self.verticalLayout_4, 0, 1, 1, 1)
self.horizontalFrame = QtWidgets.QFrame(self.centralwidget)
self.horizontalFrame.setMaximumSize(QtCore.QSize(16777215, 100))
self.horizontalFrame.setObjectName("horizontalFrame")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalFrame)
self.horizontalLayout.setObjectName("horizontalLayout")
self.horizontalFrame1 = QtWidgets.QFrame(self.horizontalFrame)
self.horizontalFrame1.setFrameShape(QtWidgets.QFrame.Box)
self.horizontalFrame1.setObjectName("horizontalFrame1")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.horizontalFrame1)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.label_10 = QtWidgets.QLabel(self.horizontalFrame1)
self.label_10.setObjectName("label_10")
self.horizontalLayout_2.addWidget(self.label_10)
self.port_combo_box = QtWidgets.QComboBox(self.horizontalFrame1)
self.port_combo_box.setMinimumSize(QtCore.QSize(300, 0))
self.port_combo_box.setObjectName("port_combo_box")
self.horizontalLayout_2.addWidget(self.port_combo_box)
self.button_refresh = QtWidgets.QPushButton(self.horizontalFrame1)
self.button_refresh.setMinimumSize(QtCore.QSize(0, 0))
self.button_refresh.setMaximumSize(QtCore.QSize(115, 27))
self.button_refresh.setObjectName("button_refresh")
self.horizontalLayout_2.addWidget(self.button_refresh)
self.button_connect = QtWidgets.QPushButton(self.horizontalFrame1)
self.button_connect.setMinimumSize(QtCore.QSize(0, 0))
self.button_connect.setMaximumSize(QtCore.QSize(116, 27))
self.button_connect.setObjectName("button_connect")
self.horizontalLayout_2.addWidget(self.button_connect)
self.button_capture = QtWidgets.QPushButton(self.horizontalFrame1)
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.button_capture.setFont(font)
self.button_capture.setObjectName("button_capture")
self.horizontalLayout_2.addWidget(self.button_capture)
self.horizontalLayout.addWidget(self.horizontalFrame1)
self.label_7 = QtWidgets.QLabel(self.horizontalFrame)
font = QtGui.QFont()
font.setPointSize(16)
font.setBold(True)
font.setWeight(75)
font.setKerning(True)
self.label_7.setFont(font)
self.label_7.setAlignment(QtCore.Qt.AlignCenter)
self.label_7.setObjectName("label_7")
self.horizontalLayout.addWidget(self.label_7)
spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem4)
self.gridLayout_3.addWidget(self.horizontalFrame, 1, 0, 1, 2)
MainWindow.setCentralWidget(self.centralwidget)
self.statusBar = QtWidgets.QStatusBar(MainWindow)
self.statusBar.setObjectName("statusBar")
MainWindow.setStatusBar(self.statusBar)
self.menuBar = QtWidgets.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 1049, 24))
self.menuBar.setObjectName("menuBar")
self.menuFile = QtWidgets.QMenu(self.menuBar)
self.menuFile.setObjectName("menuFile")
self.menuHelp = QtWidgets.QMenu(self.menuBar)
self.menuHelp.setObjectName("menuHelp")
self.menuGraph = QtWidgets.QMenu(self.menuBar)
self.menuGraph.setObjectName("menuGraph")
self.menuRefresh_Rate = QtWidgets.QMenu(self.menuGraph)
self.menuRefresh_Rate.setObjectName("menuRefresh_Rate")
MainWindow.setMenuBar(self.menuBar)
self.actionQuit = QtWidgets.QAction(MainWindow)
self.actionQuit.setObjectName("actionQuit")
self.actionAbout = QtWidgets.QAction(MainWindow)
self.actionAbout.setObjectName("actionAbout")
self.actionGet_Source_Code = QtWidgets.QAction(MainWindow)
self.actionGet_Source_Code.setObjectName("actionGet_Source_Code")
self.actionLicense = QtWidgets.QAction(MainWindow)
self.actionLicense.setObjectName("actionLicense")
self.actionBold_Line = QtWidgets.QAction(MainWindow)
self.actionBold_Line.setCheckable(True)
self.actionBold_Line.setChecked(True)
self.actionBold_Line.setObjectName("actionBold_Line")
self.actionAbout_2 = QtWidgets.QAction(MainWindow)
self.actionAbout_2.setObjectName("actionAbout_2")
self.FPSGroup = QtWidgets.QActionGroup(MainWindow)
self.FPSGroup.setObjectName("FPSGroup")
self.action30_FPS = QtWidgets.QAction(self.FPSGroup)
self.action30_FPS.setCheckable(True)
self.action30_FPS.setChecked(True)
self.action30_FPS.setObjectName("action30_FPS")
self.action15_FPS = QtWidgets.QAction(self.FPSGroup)
self.action15_FPS.setCheckable(True)
self.action15_FPS.setChecked(False)
self.action15_FPS.setObjectName("action15_FPS")
self.action8_FPS = QtWidgets.QAction(self.FPSGroup)
self.action8_FPS.setCheckable(True)
self.action8_FPS.setObjectName("action8_FPS")
self.menuFile.addAction(self.actionQuit)
self.menuHelp.addAction(self.actionAbout_2)
self.menuHelp.addAction(self.actionLicense)
self.menuHelp.addSeparator()
self.menuHelp.addAction(self.actionGet_Source_Code)
self.menuRefresh_Rate.addAction(self.action30_FPS)
self.menuRefresh_Rate.addAction(self.action15_FPS)
self.menuRefresh_Rate.addAction(self.action8_FPS)
self.menuGraph.addAction(self.menuRefresh_Rate.menuAction())
self.menuGraph.addAction(self.actionBold_Line)
self.menuBar.addAction(self.menuFile.menuAction())
self.menuBar.addAction(self.menuGraph.menuAction())
self.menuBar.addAction(self.menuHelp.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "SPO2 Monitor"))
item = self.tableWidget.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "R Value"))
item = self.tableWidget.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "SPO2"))
self.button_update.setText(_translate("MainWindow", "Apply"))
self.button_reload.setText(_translate("MainWindow", "Reload"))
self.button_add_row.setText(_translate("MainWindow", "+"))
self.label_5.setText(_translate("MainWindow", "SPO2/R Calibration Coefficients"))
self.label_6.setText(_translate("MainWindow", "SPO2/R Calibration Curve"))
self.label.setText(_translate("MainWindow", "R Value Instantaneous"))
self.label_4.setText(_translate("MainWindow", "R Value Average"))
self.label_2.setText(_translate("MainWindow", "Approximate SPO2 (%)"))
self.label_3.setText(_translate("MainWindow", "Heart Rate (BPM)"))
self.label_10.setText(_translate("MainWindow", "Device:"))
self.button_refresh.setText(_translate("MainWindow", "Refresh"))
self.button_connect.setText(_translate("MainWindow", "Connect"))
self.button_capture.setText(_translate("MainWindow", "Start Capture"))
self.label_7.setText(_translate("MainWindow", " NOT FOR MEDICAL USE"))
self.menuFile.setTitle(_translate("MainWindow", "File"))
self.menuHelp.setTitle(_translate("MainWindow", "Help"))
self.menuGraph.setTitle(_translate("MainWindow", "Graph"))
self.menuRefresh_Rate.setTitle(_translate("MainWindow", "Refresh Rate"))
self.actionQuit.setText(_translate("MainWindow", "Quit"))
self.actionAbout.setText(_translate("MainWindow", "About"))
self.actionGet_Source_Code.setText(_translate("MainWindow", "Get Source Code"))
self.actionLicense.setText(_translate("MainWindow", "License"))
self.actionBold_Line.setText(_translate("MainWindow", "Bold Line"))
self.actionAbout_2.setText(_translate("MainWindow", "About"))
self.action30_FPS.setText(_translate("MainWindow", "30 FPS"))
self.action15_FPS.setText(_translate("MainWindow", "15 FPS"))
self.action8_FPS.setText(_translate("MainWindow", "8 FPS"))
from pyqtgraph import PlotWidget