My purpose plot graph for methods (EKGDatas,AccelerometerDatas, PulseoksimeteDatas, PulseoksimeteDatas). In QtMainScreen.py, i wrote graphscreen method, because all pushbutton is ploted datas and i think a method is in enough. Am i right or am i write different methods in transleted code by pyqt5?
main.py
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from QtMainScreen import Ui_MainWindow
class Main(QtWidgets.QMainWindow, Ui_MainWindow):
timedate = []
timeclock = []
dataadxl_x = []
dataadxl_yw = []
dataecg = []
datathermo = []
datapulse = []
def __init__(self,parent=None):
super(Main, self).__init__(parent)
self.setupUi(self)
self.pushButton_ekg.clicked.connect(self.EKGDatas)
self.pushButton_accelerometer.clicked.connect(self.AccelerometerDatas)
self.pushButton_airflow.clicked.connect(self.ThermocoupleDatas)
self.pushButton_pulseoksimeter.clicked.connect(self.PulseoksimeteDatas)
def GraphDatas(self):
graph_data = open("DATA.TXT", "r").read()
rowdata = graph_data.split('\n')
global timedate
global timeclock
global dataadxl_x
global dataadxl_yw
global dataecg
global datathermo
global datapulse
for line in rowdata:
if len(line) > 1:
timec,timed,dataadxlX,dataadxlYW,datae,datat= line.split(' ')
timeclock.append(timec)
timedate.append(timed)
dataadxl_yw.append(dataadxlYW)
dataadxl_x.append(dataadxlX)
dataecg.append(datae)
datathermo.append(datat)
def EKGDatas(self,parent=None):
# super(Main, self).__init__(parent)
self.graphScreen(self)
def AccelerometerDatas(self):
mydialog = QtWidgets.QDialog(self)
mydialog.setModal(True)
mydialog.exec()
mydialog.show()
def ThermocoupleDatas(self):
mydialog = QtWidgets.QDialog(self)
mydialog.setModal(True)
mydialog.exec()
mydialog.show()
def PulseoksimeteDatas(self):
mydialog = QtWidgets.QDialog(self)
mydialog.setModal(True)
mydialog.exec()
mydialog.show()
if __name__== '__main__':
App = QtWidgets.QApplication(sys.argv)
PrecautionApp = Main()
PrecautionApp.show()
sys.exit(App.exec())
QtMainScreen.py
# Form implementation generated from reading ui file 'QtMainScreen.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
from QtGraphic import *
class Ui_MainWindow(object):
def graphScreen(self):
self.window = QtWidgets.QMainWindow()
self.ui= Ui_MainWindowG()
self.ui.setup(self.window)
self.window.show()
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(500, 440)
MainWindow.setMaximumSize(QtCore.QSize(500, 440))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("icon/icons8-hospital-bed-with-iv-machine-filled-30light.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget.setGeometry(QtCore.QRect(30, 30, 431, 331))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.pushButton_airflow = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_airflow.setMinimumSize(QtCore.QSize(185, 140))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.pushButton_airflow.setFont(font)
self.pushButton_airflow.setAutoFillBackground(True)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap("icon/nasal96.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton_airflow.setIcon(icon1)
self.pushButton_airflow.setIconSize(QtCore.QSize(100, 100))
self.pushButton_airflow.setAutoDefault(False)
self.pushButton_airflow.setDefault(False)
self.pushButton_airflow.setFlat(False)
self.pushButton_airflow.setObjectName("pushButton_airflow")
self.gridLayout.addWidget(self.pushButton_airflow, 0, 2, 1, 1)
self.pushButton_pulseoksimeter = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_pulseoksimeter.setMinimumSize(QtCore.QSize(185, 140))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.pushButton_pulseoksimeter.setFont(font)
self.pushButton_pulseoksimeter.setAutoFillBackground(True)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap("icon/pulseoksimeter100.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton_pulseoksimeter.setIcon(icon2)
self.pushButton_pulseoksimeter.setIconSize(QtCore.QSize(100, 100))
self.pushButton_pulseoksimeter.setAutoDefault(False)
self.pushButton_pulseoksimeter.setDefault(False)
self.pushButton_pulseoksimeter.setFlat(False)
self.pushButton_pulseoksimeter.setObjectName("pushButton_pulseoksimeter")
self.gridLayout.addWidget(self.pushButton_pulseoksimeter, 2, 0, 1, 1)
self.pushButton_ekg = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_ekg.setMinimumSize(QtCore.QSize(185, 140))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.pushButton_ekg.setFont(font)
self.pushButton_ekg.setAutoFillBackground(True)
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap("icon/heartfilled96.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton_ekg.setIcon(icon3)
self.pushButton_ekg.setIconSize(QtCore.QSize(100, 100))
self.pushButton_ekg.setAutoDefault(False)
self.pushButton_ekg.setDefault(False)
self.pushButton_ekg.setFlat(False)
self.pushButton_ekg.setObjectName("pushButton_ekg")
self.gridLayout.addWidget(self.pushButton_ekg, 0, 0, 1, 1)
spacerItem = QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 1, 0, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem1, 1, 2, 1, 1)
self.pushButton_accelerometer = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_accelerometer.setMinimumSize(QtCore.QSize(185, 140))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.pushButton_accelerometer.setFont(font)
self.pushButton_accelerometer.setAutoFillBackground(True)
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap("icon/position100.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton_accelerometer.setIcon(icon4)
self.pushButton_accelerometer.setIconSize(QtCore.QSize(100, 100))
self.pushButton_accelerometer.setAutoDefault(False)
self.pushButton_accelerometer.setDefault(False)
self.pushButton_accelerometer.setFlat(False)
self.pushButton_accelerometer.setObjectName("pushButton_accelerometer")
self.gridLayout.addWidget(self.pushButton_accelerometer, 2, 2, 1, 1)
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem2, 2, 1, 1, 1)
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem3, 0, 1, 1, 1)
self.icon = QtWidgets.QPushButton(self.gridLayoutWidget)
self.icon.setEnabled(True)
self.icon.setMinimumSize(QtCore.QSize(35, 35))
self.icon.setMaximumSize(QtCore.QSize(35, 35))
self.icon.setText("")
self.icon.setIcon(icon)
self.icon.setIconSize(QtCore.QSize(30, 30))
self.icon.setAutoDefault(False)
self.icon.setDefault(False)
self.icon.setFlat(True)
self.icon.setObjectName("icon")
self.gridLayout.addWidget(self.icon, 1, 1, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 500, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
self.pushButton_ekg.clicked.connect(self.graphScreen)
self.pushButton_airflow.clicked.connect(self.graphScreen)
self.pushButton_pulseoksimeter.clicked.connect(self.graphScreen)
self.pushButton_accelerometer.clicked.connect(self.graphScreen)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Sleep Apnea"))
self.pushButton_airflow.setText(_translate("MainWindow", "Airflow"))
self.pushButton_pulseoksimeter.setText(_translate("MainWindow", "SpO2"))
self.pushButton_ekg.setText(_translate("MainWindow", "EKG"))
self.pushButton_accelerometer.setText(_translate("MainWindow", "Position"))
if __name__ == "__main__" :
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
QtGraphic.py
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'QtGraphic.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindowG(object):
def setup(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(500, 470)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.MatplotWidget = MatplotWidget(self.centralwidget)
self.MatplotWidget.setGeometry(QtCore.QRect(10, 10, 470, 400))
self.MatplotWidget.setMaximumSize(QtCore.QSize(500, 440))
self.MatplotWidget.setObjectName("MatplotWidget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 500, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
from matplotwidget import MatplotWidget
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindowG()
ui.setup(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
-------------------- matplotwidget.py --------------------
from PyQt5.QtWidgets import *
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
class MatplotWidget(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.canvas = FigureCanvas(Figure())
vertical_layout = QVBoxLayout()
vertical_layout.addWidget(self.canvas)
self.canvas.axes = self.canvas.figure.add_subplot(111)
self.setLayout(vertical_layout)
When I use push button(EKG),pycharm say "Process finished with exit code -1073740791 (0xC0000409)"
When I run the QtMainScreen.py module, the graphical screen opens from the button I want. But I want to make the main.py transaction and run it with these changes. How can i fix for useful code? Thank you for your help..
User contributions licensed under CC BY-SA 3.0