def setupUi(self, Form): Form.setObjectName("Form") Form.resize(903, 678) self.gridLayout = QtWidgets.QGridLayout(Form) self.gridLayout.setObjectName("gridLayout") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setObjectName("pushButton_2") self.gridLayout.addWidget(self.pushButton_2, 0, 0, 1, 1) self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.widget = MatplotlibWidget(Form) self.widget.setMinimumSize(QtCore.QSize(200, 200)) self.widget.setObjectName("widget") self.verticalLayout.addWidget(self.widget) self.widget_2 = MatplotlibWidget(Form) self.widget_2.setMinimumSize(QtCore.QSize(200, 200)) self.widget_2.setObjectName("widget_2") self.verticalLayout.addWidget(self.widget_2) self.gridLayout.addLayout(self.verticalLayout, 0, 1, 3, 1) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setObjectName("pushButton") self.gridLayout.addWidget(self.pushButton, 1, 0, 1, 1) self.quit_btn = QtWidgets.QPushButton(Form) self.quit_btn.setObjectName("quit_btn") self.gridLayout.addWidget(self.quit_btn, 2, 0, 1, 1) self.widget.raise_() self.widget_2.raise_() self.widget_2.raise_() self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(748, 597) Dialog.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.WindowTitleHint | QtCore.Qt.CustomizeWindowHint | QtCore.Qt.WindowMinimizeButtonHint) self.horizontalLayout_2 = QtWidgets.QHBoxLayout(Dialog) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.widget = MatplotlibWidget(Dialog) self.widget.setObjectName("widget") self.verticalLayout.addWidget(self.widget) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.pushButton = QtWidgets.QPushButton(Dialog) self.pushButton.setObjectName("pushButton") self.horizontalLayout.addWidget(self.pushButton) self.pushButton_2 = QtWidgets.QPushButton(Dialog) self.pushButton_2.setObjectName("pushButton_2") self.horizontalLayout.addWidget(self.pushButton_2) self.verticalLayout.addLayout(self.horizontalLayout) self.verticalLayout.setStretch(0, 5) self.verticalLayout.setStretch(1, 1) self.horizontalLayout_2.addLayout(self.verticalLayout) self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog)
def setupUi(self, Sensor_edit): Sensor_edit.setObjectName("Sensor_edit") Sensor_edit.resize(803, 496) self.horizontalLayout = QtWidgets.QHBoxLayout(Sensor_edit) self.horizontalLayout.setObjectName("horizontalLayout") self.TODO = QtWidgets.QWidget(Sensor_edit) self.TODO.setMinimumSize(QtCore.QSize(200, 0)) self.TODO.setObjectName("TODO") self.horizontalLayout.addWidget(self.TODO) self.sensor_diagram = MatplotlibWidget(Sensor_edit) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth( self.sensor_diagram.sizePolicy().hasHeightForWidth()) self.sensor_diagram.setSizePolicy(sizePolicy) self.sensor_diagram.setMinimumSize(QtCore.QSize(460, 460)) self.sensor_diagram.setObjectName("sensor_diagram") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.sensor_diagram) self.verticalLayout_3.setObjectName("verticalLayout_3") self.horizontalLayout.addWidget(self.sensor_diagram) self.retranslateUi(Sensor_edit) QtCore.QMetaObject.connectSlotsByName(Sensor_edit)
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1400, 1000) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.matplotlibwidget_static = MatplotlibWidget(self.centralwidget) self.matplotlibwidget_static.setGeometry(QtCore.QRect(139, 20, 700, 700)) self.matplotlibwidget_static.setObjectName("matplotlibwidget_static") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(40, 120, 75, 23)) self.pushButton.setObjectName("pushButton") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1000, 23)) 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")) self.pushButton.setText(_translate("MainWindow", "show"))
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.matplotlibwidget_static = MatplotlibWidget(self.centralwidget) self.matplotlibwidget_static.setGeometry(QtCore.QRect(10, 0, 611, 271)) self.matplotlibwidget_static.setObjectName("matplotlibwidget_static") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(670, 80, 75, 23)) self.pushButton.setObjectName("pushButton") self.matplotlibwidget_dynamic = MatplotlibWidget(self.centralwidget) self.matplotlibwidget_dynamic.setEnabled(True) self.matplotlibwidget_dynamic.setGeometry(QtCore.QRect(10, 270, 611, 291)) self.matplotlibwidget_dynamic.setObjectName("matplotlibwidget_dynamic") self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_2.setGeometry(QtCore.QRect(670, 370, 75, 23)) self.pushButton_2.setObjectName("pushButton_2") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23)) 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 setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.matplotlibwidget_static = MatplotlibWidget(self.centralwidget) self.matplotlibwidget_static.setGeometry(QtCore.QRect(10, 0, 611, 271)) self.matplotlibwidget_static.setObjectName("matplotlibwidget_static") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(670, 80, 75, 23)) self.pushButton.setObjectName("pushButton") self.matplotlibwidget_dynamic = MatplotlibWidget(self.centralwidget) self.matplotlibwidget_dynamic.setEnabled(True) self.matplotlibwidget_dynamic.setGeometry( QtCore.QRect(10, 270, 611, 291)) self.matplotlibwidget_dynamic.setObjectName("matplotlibwidget_dynamic") self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_2.setGeometry(QtCore.QRect(670, 370, 75, 23)) self.pushButton_2.setObjectName("pushButton_2") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23)) 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)
class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(740, 475) self.logisticWidget = MatplotlibWidget(Form) self.logisticWidget.setGeometry(QtCore.QRect(10, 70, 721, 401)) self.logisticWidget.setObjectName("logisticWidget") self.powerSpinBox = QtWidgets.QSpinBox(Form) self.powerSpinBox.setGeometry(QtCore.QRect(140, 10, 121, 20)) self.powerSpinBox.setMinimum(1) self.powerSpinBox.setMaximum(20) self.powerSpinBox.setObjectName("powerSpinBox") self.lambdaHorizontalScrollBar = QtWidgets.QScrollBar(Form) self.lambdaHorizontalScrollBar.setGeometry( QtCore.QRect(140, 40, 141, 17)) self.lambdaHorizontalScrollBar.setMaximum(150) self.lambdaHorizontalScrollBar.setOrientation(QtCore.Qt.Horizontal) self.lambdaHorizontalScrollBar.setObjectName( "lambdaHorizontalScrollBar") self.label = QtWidgets.QLabel(Form) self.label.setGeometry(QtCore.QRect(70, 10, 30, 20)) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(Form) self.label_2.setGeometry(QtCore.QRect(40, 40, 66, 16)) self.label_2.setObjectName("label_2") self.lambdaLabel = QtWidgets.QLabel(Form) self.lambdaLabel.setGeometry(QtCore.QRect(340, 40, 40, 16)) self.lambdaLabel.setText("") self.lambdaLabel.setObjectName("lambdaLabel") self.startButton = QtWidgets.QPushButton(Form) self.startButton.setGeometry(QtCore.QRect(650, 30, 75, 23)) self.startButton.setObjectName("startButton") self.label_3 = QtWidgets.QLabel(Form) self.label_3.setGeometry(QtCore.QRect(330, 0, 80, 40)) self.label_3.setObjectName("label_3") self.accuracyLabel = QtWidgets.QLabel(Form) self.accuracyLabel.setGeometry(QtCore.QRect(410, 0, 80, 40)) self.accuracyLabel.setText("") self.accuracyLabel.setObjectName("accuracyLabel") self.retranslateUi(Form) self.powerSpinBox.valueChanged['int'].connect( Form.updataLogisticRegression) self.lambdaHorizontalScrollBar.valueChanged['int'].connect( Form.updataLogisticRegression) self.lambdaHorizontalScrollBar.valueChanged['int'].connect( Form.lambdaRateChange) self.startButton.clicked.connect(Form.showBound) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.label.setText(_translate("Form", "Power")) self.label_2.setText(_translate("Form", "lambadaRate")) self.startButton.setText(_translate("Form", "决策边界")) self.label_3.setText(_translate("Form", "模型准确率:"))
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.widget = MatplotlibWidget(Form) self.widget.setGeometry(QtCore.QRect(10, 10, 381, 281)) self.widget.setObjectName("widget") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1000, 800) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.matplotlibwidget_static = MatplotlibWidget(self.centralwidget) self.matplotlibwidget_static.setGeometry( QtCore.QRect(490, 10, 210, 700)) self.matplotlibwidget_static.setObjectName("matplotlibwidget_static") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(10, 30, 101, 23)) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_2.setGeometry(QtCore.QRect(10, 240, 101, 23)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_4.setGeometry(QtCore.QRect(140, 290, 75, 23)) self.pushButton_4.setObjectName("pushButton_4") self.matplotlibwidget_static_2 = MatplotlibWidget(self.centralwidget) self.matplotlibwidget_static_2.setGeometry( QtCore.QRect(260, 30, 881, 701)) self.matplotlibwidget_static_2.setObjectName( "matplotlibwidget_static_2") self.horizontalSlider = QtWidgets.QSlider( self.matplotlibwidget_static_2) self.horizontalSlider.setGeometry(QtCore.QRect(120, 490, 321, 22)) self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal) self.horizontalSlider.setObjectName("horizontalSlider") self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_3.setGeometry(QtCore.QRect(140, 210, 75, 23)) self.pushButton_3.setObjectName("pushButton_3") self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_6.setGeometry(QtCore.QRect(10, 410, 75, 23)) self.pushButton_6.setObjectName("pushButton_6") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1000, 23)) 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.clicked.connect(self.matplotlibwidget_static.show) self.pushButton_2.clicked.connect(self.matplotlibwidget_static_2.show) self.pushButton_2.clicked.connect(self.pushButton_4.show) self.pushButton.clicked.connect(self.matplotlibwidget_static_2.hide) self.pushButton.clicked.connect(self.pushButton_4.hide) self.pushButton_2.clicked.connect(self.matplotlibwidget_static.hide) self.pushButton.clicked.connect(self.pushButton_3.hide) self.pushButton_2.clicked.connect(self.pushButton_3.show) self.pushButton_3.clicked.connect(self.openfile) QtCore.QMetaObject.connectSlotsByName(MainWindow)
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralWidget = QtWidgets.QWidget(MainWindow) self.centralWidget.setObjectName("centralWidget") self.matplotlibwidget_static = MatplotlibWidget(self.centralWidget) self.matplotlibwidget_static.setGeometry(QtCore.QRect( 50, 20, 561, 271)) self.matplotlibwidget_static.setObjectName("matplotlibwidget_static") self.matplotlibwidget_dynamic = MatplotlibWidget(self.centralWidget) self.matplotlibwidget_dynamic.setGeometry( QtCore.QRect(49, 289, 561, 271)) self.matplotlibwidget_dynamic.setObjectName("matplotlibwidget_dynamic") self.pushButton = QtWidgets.QPushButton(self.centralWidget) self.pushButton.setGeometry(QtCore.QRect(670, 140, 75, 23)) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(self.centralWidget) self.pushButton_2.setGeometry(QtCore.QRect(670, 440, 75, 23)) self.pushButton_2.setObjectName("pushButton_2") MainWindow.setCentralWidget(self.centralWidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.pushButton.setText(_translate("MainWindow", "显示静态图")) self.pushButton_2.setText(_translate("MainWindow", "显示动态图"))
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(694, 588) self.centralWidget = QtWidgets.QWidget(MainWindow) self.centralWidget.setObjectName("centralWidget") self.widget = MatplotlibWidget(self.centralWidget) self.widget.setGeometry(QtCore.QRect(10, 50, 661, 280)) self.widget.setObjectName("widget") self.widget_2 = MatplotlibWidget(self.centralWidget) self.widget_2.setGeometry(QtCore.QRect(10, 320, 661, 280)) self.widget_2.setObjectName("widget_2") self.pushButton = QtWidgets.QPushButton(self.centralWidget) self.pushButton.setGeometry(QtCore.QRect(10, 25, 75, 23)) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(self.centralWidget) self.pushButton_2.setGeometry(QtCore.QRect(100, 25, 75, 23)) self.pushButton_2.setObjectName("pushButton_2") MainWindow.setCentralWidget(self.centralWidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.pushButton.setText(_translate("MainWindow", "显示静态图")) self.pushButton_2.setText(_translate("MainWindow", "显示动态图"))
class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(589, 560) self.matplotlibwidget_static = MatplotlibWidget(Form) self.matplotlibwidget_static.setGeometry(QtCore.QRect(0, 0, 481, 271)) self.matplotlibwidget_static.setObjectName("matplotlibwidget_static") self.showStaticButton = QtWidgets.QPushButton(Form) self.showStaticButton.setGeometry(QtCore.QRect(510, 100, 75, 23)) self.showStaticButton.setObjectName("showStaticButton") self.showDynamicButton = QtWidgets.QPushButton(Form) self.showDynamicButton.setGeometry(QtCore.QRect(510, 390, 75, 23)) self.showDynamicButton.setObjectName("showDynamicButton") self.matplotlibwidget_dynamic = MatplotlibWidget(Form) self.matplotlibwidget_dynamic.setGeometry( QtCore.QRect(-10, 270, 491, 291)) self.matplotlibwidget_dynamic.setObjectName("matplotlibwidget_dynamic") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.showStaticButton.setText(_translate("Form", "显示静态图")) self.showDynamicButton.setText(_translate("Form", "显示动态图"))
class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.widget = MatplotlibWidget(Form) self.widget.setGeometry(QtCore.QRect(10, 10, 381, 281)) self.widget.setObjectName("widget") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form"))
class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(504, 374) self.pakagename = QtWidgets.QLabel(Form) self.pakagename.setGeometry(QtCore.QRect(30, 30, 60, 16)) self.pakagename.setObjectName("pakagename") self.packege_name = QtWidgets.QLineEdit(Form) self.packege_name.setGeometry(QtCore.QRect(90, 30, 131, 21)) self.packege_name.setObjectName("packege_name") self.updateetime = QtWidgets.QLabel(Form) self.updateetime.setGeometry(QtCore.QRect(260, 30, 60, 16)) self.updateetime.setObjectName("updateetime") self.update_time = QtWidgets.QLineEdit(Form) self.update_time.setGeometry(QtCore.QRect(330, 30, 81, 21)) self.update_time.setObjectName("update_time") self.start_btn = QtWidgets.QPushButton(Form) self.start_btn.setGeometry(QtCore.QRect(80, 70, 81, 32)) self.start_btn.setObjectName("start_btn") self.stop_btn = QtWidgets.QPushButton(Form) self.stop_btn.setGeometry(QtCore.QRect(210, 70, 81, 32)) self.stop_btn.setObjectName("stop_btn") self.clear_btn = QtWidgets.QPushButton(Form) self.clear_btn.setGeometry(QtCore.QRect(330, 70, 71, 32)) self.clear_btn.setObjectName("clear_btn") self.graph = QtWidgets.QLabel(Form) self.graph.setGeometry(QtCore.QRect(20, 190, 60, 16)) self.graph.setObjectName("graph") #self.graph_photo = QtWidgets.QGraphicsView(Form) self.graph_photo = MatplotlibWidget(Form) self.graph_photo.setGeometry(QtCore.QRect(70, 150, 381, 201)) self.graph_photo.setObjectName("graph_photo") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.pakagename.setText(_translate("Form", "应用名称")) self.updateetime.setText(_translate("Form", "更新时间")) self.start_btn.setText(_translate("Form", "开始")) self.stop_btn.setText(_translate("Form", "结束")) self.clear_btn.setText(_translate("Form", "清除")) self.graph.setText(_translate("Form", "图表"))
def showResults(self,): """ Plots BMD change using matplotlib """ # Create plot window if self.plotWin==None: self.plotWin = QtGui.QDialog(self, QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.WindowTitleHint | \ QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowMaximizeButtonHint) self.plotWin.setWindowTitle('BMDanalyse') self.plotWin.setWindowIcon(self.icons['BMDanalyseIcon']) self.plotWin.setMinimumSize(600,500) self.plotWin.resize(self.minimumSize()) # Create Matplotlib widget self.mplw = MatplotlibWidget(size=(5,6)) self.fig = self.mplw.getFigure() self.editDataButton = QtGui.QPushButton('Edit plot') self.exportCSVButton = QtGui.QPushButton('Export data') self.mplw.toolbar.addWidget(self.editDataButton) self.mplw.toolbar.addWidget(self.exportCSVButton) self.editDataButton.clicked.connect(self.showEditBox) self.exportCSVButton.clicked.connect(self.BMDtoCSVfile) # Format plot window self.plotWinLayout = QtGui.QVBoxLayout() self.plotWinLayout.addWidget(self.mplw) self.plotWin.setLayout(self.plotWinLayout) self.createFigure() self.plotWin.show() self.mplw.draw()
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(589, 560) self.matplotlibwidget_static = MatplotlibWidget(Form) self.matplotlibwidget_static.setGeometry(QtCore.QRect(0, 0, 481, 271)) self.matplotlibwidget_static.setObjectName("matplotlibwidget_static") self.showStaticButton = QtWidgets.QPushButton(Form) self.showStaticButton.setGeometry(QtCore.QRect(510, 100, 75, 23)) self.showStaticButton.setObjectName("showStaticButton") self.showDynamicButton = QtWidgets.QPushButton(Form) self.showDynamicButton.setGeometry(QtCore.QRect(510, 390, 75, 23)) self.showDynamicButton.setObjectName("showDynamicButton") self.matplotlibwidget_dynamic = MatplotlibWidget(Form) self.matplotlibwidget_dynamic.setGeometry( QtCore.QRect(-10, 270, 491, 291)) self.matplotlibwidget_dynamic.setObjectName("matplotlibwidget_dynamic") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(579, 369) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.widget = MatplotlibWidget(self.centralwidget) self.widget.setGeometry(QtCore.QRect(10, 40, 421, 271)) self.widget.setObjectName("widget") self.startButton = QtWidgets.QPushButton(self.centralwidget) self.startButton.setGeometry(QtCore.QRect(460, 70, 93, 81)) self.startButton.setText("") icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("play.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.startButton.setIcon(icon) self.startButton.setIconSize(QtCore.QSize(80, 80)) self.startButton.setObjectName("startButton") self.endButton = QtWidgets.QPushButton(self.centralwidget) self.endButton.setGeometry(QtCore.QRect(460, 200, 93, 81)) self.endButton.setText("") icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap("stop.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.endButton.setIcon(icon1) self.endButton.setIconSize(QtCore.QSize(80, 80)) self.endButton.setObjectName("endButton") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 579, 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", "Audio"))
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(694, 588) self.centralWidget = QtWidgets.QWidget(MainWindow) self.centralWidget.setObjectName("centralWidget") self.widget = MatplotlibWidget(self.centralWidget) self.widget.setGeometry(QtCore.QRect(10, 50, 661, 280)) self.widget.setObjectName("widget") self.widget_2 = MatplotlibWidget(self.centralWidget) self.widget_2.setGeometry(QtCore.QRect(10, 320, 661, 280)) self.widget_2.setObjectName("widget_2") self.pushButton = QtWidgets.QPushButton(self.centralWidget) self.pushButton.setGeometry(QtCore.QRect(10, 25, 75, 23)) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(self.centralWidget) self.pushButton_2.setGeometry(QtCore.QRect(100, 25, 75, 23)) self.pushButton_2.setObjectName("pushButton_2") MainWindow.setCentralWidget(self.centralWidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(504, 374) self.pakagename = QtWidgets.QLabel(Form) self.pakagename.setGeometry(QtCore.QRect(30, 30, 60, 16)) self.pakagename.setObjectName("pakagename") self.packege_name = QtWidgets.QLineEdit(Form) self.packege_name.setGeometry(QtCore.QRect(90, 30, 131, 21)) self.packege_name.setObjectName("packege_name") self.updateetime = QtWidgets.QLabel(Form) self.updateetime.setGeometry(QtCore.QRect(260, 30, 60, 16)) self.updateetime.setObjectName("updateetime") self.update_time = QtWidgets.QLineEdit(Form) self.update_time.setGeometry(QtCore.QRect(330, 30, 81, 21)) self.update_time.setObjectName("update_time") self.start_btn = QtWidgets.QPushButton(Form) self.start_btn.setGeometry(QtCore.QRect(80, 70, 81, 32)) self.start_btn.setObjectName("start_btn") self.stop_btn = QtWidgets.QPushButton(Form) self.stop_btn.setGeometry(QtCore.QRect(210, 70, 81, 32)) self.stop_btn.setObjectName("stop_btn") self.clear_btn = QtWidgets.QPushButton(Form) self.clear_btn.setGeometry(QtCore.QRect(330, 70, 71, 32)) self.clear_btn.setObjectName("clear_btn") self.graph = QtWidgets.QLabel(Form) self.graph.setGeometry(QtCore.QRect(20, 190, 60, 16)) self.graph.setObjectName("graph") #self.graph_photo = QtWidgets.QGraphicsView(Form) self.graph_photo = MatplotlibWidget(Form) self.graph_photo.setGeometry(QtCore.QRect(70, 150, 381, 201)) self.graph_photo.setObjectName("graph_photo") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
def __init__(self): super(Matplotlib, self).__init__() self.setWindowTitle('Matplotlib 例子1') self.resize(500, 650) self.setWindowIcon(QIcon('./images/sandiantu.ico')) # 创建控件 self.matplotwidget1 = MatplotlibWidget() # 自定义的控件 self.matplotwidget2 = MatplotlibWidget() # 自定义的控件 self.button1 = QPushButton('显示静态图') self.button2 = QPushButton('显示动态图') # 布局 layout = QVBoxLayout() layout.addWidget(self.matplotwidget1) # 自定义的控件 layout.addWidget(self.matplotwidget2) # 自定义的控件 layout.addWidget(self.button1) layout.addWidget(self.button2) self.setLayout(layout) # 绑定信号与槽 self.button1.clicked.connect(self.button1_Clicked) self.button2.clicked.connect(self.button2_Clicked)
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralWidget = QtWidgets.QWidget(MainWindow) self.centralWidget.setObjectName("centralWidget") self.matplotlibwidget_static = MatplotlibWidget(self.centralWidget) self.matplotlibwidget_static.setGeometry(QtCore.QRect( 50, 20, 561, 271)) self.matplotlibwidget_static.setObjectName("matplotlibwidget_static") self.matplotlibwidget_dynamic = MatplotlibWidget(self.centralWidget) self.matplotlibwidget_dynamic.setGeometry( QtCore.QRect(49, 289, 561, 271)) self.matplotlibwidget_dynamic.setObjectName("matplotlibwidget_dynamic") self.pushButton = QtWidgets.QPushButton(self.centralWidget) self.pushButton.setGeometry(QtCore.QRect(670, 140, 75, 23)) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(self.centralWidget) self.pushButton_2.setGeometry(QtCore.QRect(670, 440, 75, 23)) self.pushButton_2.setObjectName("pushButton_2") MainWindow.setCentralWidget(self.centralWidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def __init__(self): super(TextEdit, self).__init__() self.setWindowTitle('QTextEdit 例子') self.resize(500, 400) self.setWindowIcon(QIcon('./images/sandiantu.ico')) # 创建控件 self.matplot = MatplotlibWidget() # 自定义的控件 self.textEdit = QTextEdit() self.button1 = QPushButton('显示文本') self.button2 = QPushButton('显示HTML') # 布局 layout = QVBoxLayout() layout.addWidget(self.matplot) # 自定义的控件 layout.addWidget(self.textEdit) layout.addWidget(self.button1) layout.addWidget(self.button2) self.setLayout(layout) # 绑定信号与槽 self.button1.clicked.connect(self.button1_Clicked) self.button2.clicked.connect(self.button2_Clicked)
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(718, 650) MainWindow.setAutoFillBackground(False) MainWindow.setStyleSheet( "QWidget#canshu{border: 2px solid rgba(0,0,0,0.5);\n" "border-radius: 10px;}") self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.canshu = QtWidgets.QWidget(self.centralwidget) self.canshu.setGeometry(QtCore.QRect(10, 20, 691, 171)) self.canshu.setAutoFillBackground(False) self.canshu.setStyleSheet( "QWidget#canshu{border: 2px solid rgba(0,0,0,0.5); \n" "border-radius: 10px;}") self.canshu.setObjectName("canshu") self.gridLayout = QtWidgets.QGridLayout(self.canshu) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.pondA_layout = QtWidgets.QGridLayout() self.pondA_layout.setObjectName("pondA_layout") self.label_2 = QtWidgets.QLabel(self.canshu) self.label_2.setMinimumSize(QtCore.QSize(100, 20)) self.label_2.setMaximumSize(QtCore.QSize(100, 30)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(12) self.label_2.setFont(font) self.label_2.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_2.setObjectName("label_2") self.pondA_layout.addWidget(self.label_2, 0, 0, 1, 1) self.label_3 = QtWidgets.QLabel(self.canshu) self.label_3.setMinimumSize(QtCore.QSize(10, 10)) self.label_3.setMaximumSize(QtCore.QSize(100, 20)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(10) self.label_3.setFont(font) self.label_3.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_3.setObjectName("label_3") self.pondA_layout.addWidget(self.label_3, 1, 0, 1, 1) self.pump_rate_A = QtWidgets.QLineEdit(self.canshu) self.pump_rate_A.setMinimumSize(QtCore.QSize(100, 20)) self.pump_rate_A.setMaximumSize(QtCore.QSize(200, 40)) self.pump_rate_A.setInputMethodHints(QtCore.Qt.ImhDigitsOnly) self.pump_rate_A.setObjectName("pump_rate_A") self.pondA_layout.addWidget(self.pump_rate_A, 1, 1, 1, 1) self.label_4 = QtWidgets.QLabel(self.canshu) self.label_4.setMaximumSize(QtCore.QSize(100, 20)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(10) self.label_4.setFont(font) self.label_4.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_4.setObjectName("label_4") self.pondA_layout.addWidget(self.label_4, 2, 0, 1, 1) self.maxvolume_A = QtWidgets.QLineEdit(self.canshu) self.maxvolume_A.setMinimumSize(QtCore.QSize(100, 20)) self.maxvolume_A.setMaximumSize(QtCore.QSize(200, 16777215)) self.maxvolume_A.setInputMethodHints(QtCore.Qt.ImhDigitsOnly) self.maxvolume_A.setCursorMoveStyle(QtCore.Qt.LogicalMoveStyle) self.maxvolume_A.setObjectName("maxvolume_A") self.pondA_layout.addWidget(self.maxvolume_A, 2, 1, 1, 1) self.gridLayout.addLayout(self.pondA_layout, 1, 0, 1, 1) self.islinkcheackbox = QtWidgets.QCheckBox(self.canshu) self.islinkcheackbox.setObjectName("islinkcheackbox") self.gridLayout.addWidget(self.islinkcheackbox, 3, 0, 1, 1) self.simulatebtn = QtWidgets.QPushButton(self.canshu) self.simulatebtn.setMinimumSize(QtCore.QSize(80, 20)) self.simulatebtn.setMaximumSize(QtCore.QSize(100, 40)) self.simulatebtn.setLayoutDirection(QtCore.Qt.LeftToRight) self.simulatebtn.setCheckable(False) self.simulatebtn.setObjectName("simulatebtn") self.gridLayout.addWidget(self.simulatebtn, 3, 1, 1, 1) self.label = QtWidgets.QLabel(self.canshu) self.label.setMaximumSize(QtCore.QSize(100, 40)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label.setFont(font) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 0, 0, 1, 1) self.pondB_layout = QtWidgets.QGridLayout() self.pondB_layout.setObjectName("pondB_layout") self.label_5 = QtWidgets.QLabel(self.canshu) self.label_5.setMinimumSize(QtCore.QSize(100, 20)) self.label_5.setMaximumSize(QtCore.QSize(100, 30)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(12) self.label_5.setFont(font) self.label_5.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_5.setObjectName("label_5") self.pondB_layout.addWidget(self.label_5, 0, 0, 1, 1) self.label_6 = QtWidgets.QLabel(self.canshu) self.label_6.setMinimumSize(QtCore.QSize(10, 10)) self.label_6.setMaximumSize(QtCore.QSize(100, 20)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(10) self.label_6.setFont(font) self.label_6.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_6.setObjectName("label_6") self.pondB_layout.addWidget(self.label_6, 1, 0, 1, 1) self.pump_rate_B = QtWidgets.QLineEdit(self.canshu) self.pump_rate_B.setMinimumSize(QtCore.QSize(100, 20)) self.pump_rate_B.setMaximumSize(QtCore.QSize(200, 40)) self.pump_rate_B.setInputMethodHints(QtCore.Qt.ImhDigitsOnly) self.pump_rate_B.setObjectName("pump_rate_B") self.pondB_layout.addWidget(self.pump_rate_B, 1, 1, 1, 1) self.label_7 = QtWidgets.QLabel(self.canshu) self.label_7.setMaximumSize(QtCore.QSize(100, 20)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(10) self.label_7.setFont(font) self.label_7.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_7.setObjectName("label_7") self.pondB_layout.addWidget(self.label_7, 2, 0, 1, 1) self.maxvolume_B = QtWidgets.QLineEdit(self.canshu) self.maxvolume_B.setMinimumSize(QtCore.QSize(100, 20)) self.maxvolume_B.setMaximumSize(QtCore.QSize(200, 16777215)) self.maxvolume_B.setInputMethodHints(QtCore.Qt.ImhDigitsOnly) self.maxvolume_B.setObjectName("maxvolume_B") self.pondB_layout.addWidget(self.maxvolume_B, 2, 1, 1, 1) self.gridLayout.addLayout(self.pondB_layout, 1, 1, 1, 1) self.output_view = QtWidgets.QWidget(self.centralwidget) self.output_view.setGeometry(QtCore.QRect(10, 220, 691, 401)) self.output_view.setObjectName("output_view") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.output_view) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.label_8 = QtWidgets.QLabel(self.output_view) self.label_8.setMinimumSize(QtCore.QSize(100, 20)) self.label_8.setMaximumSize(QtCore.QSize(100, 40)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_8.setFont(font) self.label_8.setObjectName("label_8") self.verticalLayout_2.addWidget(self.label_8) self.stackedWidget = QtWidgets.QStackedWidget(self.output_view) self.stackedWidget.setObjectName("stackedWidget") self.page_welcome = QtWidgets.QWidget() self.page_welcome.setObjectName("page_welcome") self.widget = QtWidgets.QWidget(self.page_welcome) self.widget.setGeometry(QtCore.QRect(20, 20, 631, 311)) self.widget.setObjectName("widget") self.verticalLayout = QtWidgets.QVBoxLayout(self.widget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.label_9 = QtWidgets.QLabel(self.widget) self.label_9.setMinimumSize(QtCore.QSize(60, 20)) self.label_9.setMaximumSize(QtCore.QSize(100, 100)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(10) self.label_9.setFont(font) self.label_9.setObjectName("label_9") self.horizontalLayout.addWidget(self.label_9) self.run_progress_bar = QtWidgets.QProgressBar(self.widget) self.run_progress_bar.setMinimumSize(QtCore.QSize(200, 30)) self.run_progress_bar.setMaximumSize(QtCore.QSize(1000, 40)) self.run_progress_bar.setProperty("value", 24) self.run_progress_bar.setObjectName("run_progress_bar") self.horizontalLayout.addWidget(self.run_progress_bar) self.verticalLayout.addLayout(self.horizontalLayout) spacerItem = QtWidgets.QSpacerItem(40, 30, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.verticalLayout.addItem(spacerItem) self.plainTextEdit = QtWidgets.QPlainTextEdit(self.widget) self.plainTextEdit.setObjectName("plainTextEdit") self.verticalLayout.addWidget(self.plainTextEdit) self.stackedWidget.addWidget(self.page_welcome) self.page_result = QtWidgets.QWidget() self.page_result.setObjectName("page_result") self.draw_selection_box = QtWidgets.QComboBox(self.page_result) self.draw_selection_box.setGeometry(QtCore.QRect(21, 11, 150, 20)) self.draw_selection_box.setMinimumSize(QtCore.QSize(150, 20)) self.draw_selection_box.setMaximumSize(QtCore.QSize(250, 40)) self.draw_selection_box.setObjectName("draw_selection_box") self.draw_selection_box.addItem("") self.draw_selection_box.addItem("") self.draw_selection_box.addItem("") self.draw_selection_box.addItem("") self.draw_selection_box.addItem("") self.draw_widget = MatplotlibWidget(self.page_result) self.draw_widget.setGeometry(QtCore.QRect(20, 40, 651, 291)) self.draw_widget.setObjectName("draw_widget") self.stackedWidget.addWidget(self.page_result) self.page = QtWidgets.QWidget() self.page.setObjectName("page") self.draw_widget2 = MatplotlibWidget(self.page) self.draw_widget2.setGeometry(QtCore.QRect(10, 10, 661, 321)) self.draw_widget2.setObjectName("draw_widget2") self.stackedWidget.addWidget(self.page) self.verticalLayout_2.addWidget(self.stackedWidget) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.testbtn1 = QtWidgets.QPushButton(self.output_view) self.testbtn1.setObjectName("testbtn1") self.horizontalLayout_2.addWidget(self.testbtn1) self.testbtn2 = QtWidgets.QPushButton(self.output_view) self.testbtn2.setMinimumSize(QtCore.QSize(100, 20)) self.testbtn2.setObjectName("testbtn2") self.horizontalLayout_2.addWidget(self.testbtn2) self.testbtn3 = QtWidgets.QPushButton(self.output_view) self.testbtn3.setObjectName("testbtn3") self.horizontalLayout_2.addWidget(self.testbtn3) self.testbtn4 = QtWidgets.QPushButton(self.output_view) self.testbtn4.setMinimumSize(QtCore.QSize(120, 20)) self.testbtn4.setObjectName("testbtn4") self.horizontalLayout_2.addWidget(self.testbtn4) self.verticalLayout_2.addLayout(self.horizontalLayout_2) self.label.raise_() self.label_2.raise_() self.label_3.raise_() self.label_4.raise_() self.label_8.raise_() self.label_9.raise_() self.label.raise_() self.label_2.raise_() self.label_3.raise_() self.label_4.raise_() self.label_2.raise_() self.label_3.raise_() self.pump_rate_A.raise_() self.label_4.raise_() self.maxvolume_A.raise_() self.islinkcheackbox.raise_() self.simulatebtn.raise_() self.label_8.raise_() self.stackedWidget.raise_() self.testbtn1.raise_() self.testbtn2.raise_() self.testbtn3.raise_() self.testbtn4.raise_() self.output_view.raise_() MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) self.stackedWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.label_2.setText(_translate("MainWindow", "调蓄带A")) self.label_3.setText(_translate("MainWindow", "水泵流量")) self.pump_rate_A.setPlaceholderText(_translate("MainWindow", "单位:m3/s")) self.label_4.setText(_translate("MainWindow", "库容")) self.maxvolume_A.setPlaceholderText(_translate("MainWindow", "单位:m3")) self.islinkcheackbox.setText(_translate("MainWindow", "是否连通")) self.simulatebtn.setText(_translate("MainWindow", "运行模拟")) self.label.setText(_translate("MainWindow", "参数设置")) self.label_5.setText(_translate("MainWindow", "调蓄带B")) self.label_6.setText(_translate("MainWindow", "水泵流量")) self.pump_rate_B.setPlaceholderText(_translate("MainWindow", "单位:m3/s")) self.label_7.setText(_translate("MainWindow", "库容")) self.maxvolume_B.setPlaceholderText(_translate("MainWindow", "单位:m3")) self.label_8.setText(_translate("MainWindow", "计算结果")) self.label_9.setText(_translate("MainWindow", "模拟进度")) self.plainTextEdit.setPlainText( _translate( "MainWindow", "程序说明:\n" "该程序用于计算调蓄带在不同条件下灌溉排水,超量排水以及水泵运行时间的时间序列并作图显示;结果文件输出按钮用于输出上述时间序列的数据,进行保存。若相关调蓄带参数未进行设置,将采用初始默认值(题目中的设定)或上一次的设置来进行模拟。\n" "同时,此窗口还用来显示一些程序运行信息,便于debug.")) self.draw_selection_box.setItemText( 0, _translate("MainWindow", "总水量时间序列图")) self.draw_selection_box.setItemText( 1, _translate("MainWindow", "灌溉排水时间序列图")) self.draw_selection_box.setItemText( 2, _translate("MainWindow", "超量排水时间序列图")) self.draw_selection_box.setItemText( 3, _translate("MainWindow", "雨污水汇入时间序列图")) self.draw_selection_box.setItemText( 4, _translate("MainWindow", "水泵运行时间图")) self.testbtn1.setText(_translate("MainWindow", "程序模拟状态")) self.testbtn2.setText(_translate("MainWindow", "各种时间序列图")) self.testbtn3.setText(_translate("MainWindow", "利用效益图")) self.testbtn4.setText(_translate("MainWindow", "结果文件输出"))
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(1610, 914) self.groupBox = QtWidgets.QGroupBox(Form) self.groupBox.setGeometry(QtCore.QRect(0, 20, 1561, 921)) font = QtGui.QFont() font.setPointSize(25) self.groupBox.setFont(font) self.groupBox.setTitle("") self.groupBox.setAlignment(QtCore.Qt.AlignCenter) self.groupBox.setObjectName("groupBox") self.tabWidget = QtWidgets.QTabWidget(self.groupBox) self.tabWidget.setGeometry(QtCore.QRect(-10, 50, 1571, 871)) self.tabWidget.setObjectName("tabWidget") self.DataMiningTab = QtWidgets.QWidget() self.DataMiningTab.setObjectName("DataMiningTab") self.InputBtn = QtWidgets.QPushButton(self.DataMiningTab) self.InputBtn.setGeometry(QtCore.QRect(20, 20, 141, 41)) self.InputBtn.setStyleSheet("font: 15pt \"Ubuntu\";") self.InputBtn.setAutoDefault(False) self.InputBtn.setObjectName("InputBtn") self.DataMiningBtn = QtWidgets.QPushButton(self.DataMiningTab) self.DataMiningBtn.setGeometry(QtCore.QRect(170, 20, 181, 41)) self.DataMiningBtn.setStyleSheet("font: 15pt \"Ubuntu\";") self.DataMiningBtn.setObjectName("DataMiningBtn") self.DataMiningLabel = QtWidgets.QLabel(self.DataMiningTab) self.DataMiningLabel.setGeometry(QtCore.QRect(390, 20, 731, 41)) self.DataMiningLabel.setStyleSheet("font: 15pt \"Ubuntu\";") self.DataMiningLabel.setText("") self.DataMiningLabel.setTextFormat(QtCore.Qt.RichText) self.DataMiningLabel.setAlignment(QtCore.Qt.AlignJustify | QtCore.Qt.AlignVCenter) self.DataMiningLabel.setObjectName("DataMiningLabel") self.gridLayoutWidget = QtWidgets.QWidget(self.DataMiningTab) self.gridLayoutWidget.setGeometry(QtCore.QRect(20, 80, 1531, 721)) self.gridLayoutWidget.setObjectName("gridLayoutWidget") self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.DataMiningTableWidget = QtWidgets.QTableWidget( self.gridLayoutWidget) self.DataMiningTableWidget.setStyleSheet("font: 15pt \"Ubuntu\";") self.DataMiningTableWidget.setObjectName("DataMiningTableWidget") self.DataMiningTableWidget.setColumnCount(0) self.DataMiningTableWidget.setRowCount(0) self.gridLayout.addWidget(self.DataMiningTableWidget, 0, 0, 1, 1) self.tabWidget.addTab(self.DataMiningTab, "") self.DataVisualTab = QtWidgets.QWidget() self.DataVisualTab.setObjectName("DataVisualTab") self.DataVisualWidget = MatplotlibWidget(self.DataVisualTab) self.DataVisualWidget.setGeometry(QtCore.QRect(400, 90, 1131, 600)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.DataVisualWidget.sizePolicy().hasHeightForWidth()) self.DataVisualWidget.setSizePolicy(sizePolicy) self.DataVisualWidget.setObjectName("DataVisualWidget") self.DataVisualSplitter = QtWidgets.QSplitter(self.DataVisualTab) self.DataVisualSplitter.setGeometry(QtCore.QRect(40, 90, 321, 601)) self.DataVisualSplitter.setOrientation(QtCore.Qt.Vertical) self.DataVisualSplitter.setObjectName("DataVisualSplitter") self.xsplitter = QtWidgets.QSplitter(self.DataVisualSplitter) self.xsplitter.setOrientation(QtCore.Qt.Horizontal) self.xsplitter.setObjectName("xsplitter") self.XLabel = QtWidgets.QLabel(self.xsplitter) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.XLabel.sizePolicy().hasHeightForWidth()) self.XLabel.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.XLabel.setFont(font) self.XLabel.setObjectName("XLabel") self.XComboBox = QtWidgets.QComboBox(self.xsplitter) font = QtGui.QFont() font.setPointSize(12) self.XComboBox.setFont(font) self.XComboBox.setObjectName("XComboBox") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.ysplitter = QtWidgets.QSplitter(self.DataVisualSplitter) self.ysplitter.setOrientation(QtCore.Qt.Horizontal) self.ysplitter.setObjectName("ysplitter") self.YLabel = QtWidgets.QLabel(self.ysplitter) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.YLabel.sizePolicy().hasHeightForWidth()) self.YLabel.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.YLabel.setFont(font) self.YLabel.setObjectName("YLabel") self.YComboBox = QtWidgets.QComboBox(self.ysplitter) font = QtGui.QFont() font.setPointSize(12) self.YComboBox.setFont(font) self.YComboBox.setObjectName("YComboBox") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.DataVisualBtn = QtWidgets.QPushButton(self.DataVisualSplitter) font = QtGui.QFont() font.setPointSize(12) self.DataVisualBtn.setFont(font) self.DataVisualBtn.setObjectName("DataVisualBtn") self.DataVisualLabel = QtWidgets.QLabel(self.DataVisualSplitter) font = QtGui.QFont() font.setPointSize(12) self.DataVisualLabel.setFont(font) self.DataVisualLabel.setObjectName("DataVisualLabel") self.HeatMapBtn = QtWidgets.QPushButton(self.DataVisualSplitter) font = QtGui.QFont() font.setPointSize(12) self.HeatMapBtn.setFont(font) self.HeatMapBtn.setObjectName("HeatMapBtn") self.tabWidget.addTab(self.DataVisualTab, "") self.OxygenTab = QtWidgets.QWidget() self.OxygenTab.setObjectName("OxygenTab") self.OxygenVisualWidget = MatplotlibWidget(self.OxygenTab) self.OxygenVisualWidget.setGeometry(QtCore.QRect(120, 60, 600, 480)) self.OxygenVisualWidget.setObjectName("OxygenVisualWidget") self.OxygenVisualBtn = QtWidgets.QPushButton(self.OxygenTab) self.OxygenVisualBtn.setGeometry(QtCore.QRect(720, 680, 111, 31)) self.OxygenVisualBtn.setStyleSheet("font: 15pt \"Ubuntu\";") self.OxygenVisualBtn.setObjectName("OxygenVisualBtn") self.OxygenVisualValidationWidget = MatplotlibWidget(self.OxygenTab) self.OxygenVisualValidationWidget.setGeometry( QtCore.QRect(840, 60, 600, 480)) self.OxygenVisualValidationWidget.setObjectName( "OxygenVisualValidationWidget") self.OxygenLabel = QtWidgets.QLabel(self.OxygenTab) self.OxygenLabel.setGeometry(QtCore.QRect(110, 590, 611, 51)) font = QtGui.QFont() font.setPointSize(14) font.setBold(True) font.setWeight(75) self.OxygenLabel.setFont(font) self.OxygenLabel.setText("") self.OxygenLabel.setObjectName("OxygenLabel") self.CrossValidationLabel = QtWidgets.QLabel(self.OxygenTab) self.CrossValidationLabel.setGeometry(QtCore.QRect(830, 590, 611, 51)) font = QtGui.QFont() font.setPointSize(14) font.setBold(True) font.setWeight(75) self.CrossValidationLabel.setFont(font) self.CrossValidationLabel.setText("") self.CrossValidationLabel.setObjectName("CrossValidationLabel") self.tabWidget.addTab(self.OxygenTab, "") self.EfficiencyTab = QtWidgets.QWidget() self.EfficiencyTab.setObjectName("EfficiencyTab") self.EfficiencyVisualWidget = MatplotlibWidget(self.EfficiencyTab) self.EfficiencyVisualWidget.setGeometry(QtCore.QRect( 120, 60, 600, 480)) self.EfficiencyVisualWidget.setObjectName("EfficiencyVisualWidget") self.EfficiencyVisualValidationWidget = MatplotlibWidget( self.EfficiencyTab) self.EfficiencyVisualValidationWidget.setGeometry( QtCore.QRect(840, 60, 600, 480)) self.EfficiencyVisualValidationWidget.setObjectName( "EfficiencyVisualValidationWidget") self.EfficiencyVisualBtn = QtWidgets.QPushButton(self.EfficiencyTab) self.EfficiencyVisualBtn.setGeometry(QtCore.QRect(720, 680, 111, 31)) self.EfficiencyVisualBtn.setStyleSheet("font: 15pt \"Ubuntu\";") self.EfficiencyVisualBtn.setObjectName("EfficiencyVisualBtn") self.EfficiencyLabel = QtWidgets.QLabel(self.EfficiencyTab) self.EfficiencyLabel.setGeometry(QtCore.QRect(110, 590, 611, 51)) font = QtGui.QFont() font.setPointSize(14) font.setBold(True) font.setWeight(75) self.EfficiencyLabel.setFont(font) self.EfficiencyLabel.setText("") self.EfficiencyLabel.setObjectName("EfficiencyLabel") self.EfficiencyCrossValidationLabel = QtWidgets.QLabel( self.EfficiencyTab) self.EfficiencyCrossValidationLabel.setGeometry( QtCore.QRect(830, 590, 611, 51)) font = QtGui.QFont() font.setPointSize(14) font.setBold(True) font.setWeight(75) self.EfficiencyCrossValidationLabel.setFont(font) self.EfficiencyCrossValidationLabel.setText("") self.EfficiencyCrossValidationLabel.setObjectName( "EfficiencyCrossValidationLabel") self.tabWidget.addTab(self.EfficiencyTab, "") self.EfficiencyImproveTab = QtWidgets.QWidget() self.EfficiencyImproveTab.setObjectName("EfficiencyImproveTab") self.EfficiencyImproveWidget = MatplotlibWidget( self.EfficiencyImproveTab) self.EfficiencyImproveWidget.setGeometry( QtCore.QRect(120, 70, 600, 480)) self.EfficiencyImproveWidget.setObjectName("EfficiencyImproveWidget") self.gridLayoutWidget_3 = QtWidgets.QWidget(self.EfficiencyImproveTab) self.gridLayoutWidget_3.setGeometry(QtCore.QRect(760, 70, 785, 481)) self.gridLayoutWidget_3.setObjectName("gridLayoutWidget_3") self.EfficiencyImproveGridLayout = QtWidgets.QGridLayout( self.gridLayoutWidget_3) self.EfficiencyImproveGridLayout.setContentsMargins(0, 0, 0, 0) self.EfficiencyImproveGridLayout.setObjectName( "EfficiencyImproveGridLayout") self.xiaolv_after_label = QtWidgets.QLabel(self.gridLayoutWidget_3) self.xiaolv_after_label.setText("") self.xiaolv_after_label.setAlignment(QtCore.Qt.AlignCenter) self.xiaolv_after_label.setObjectName("xiaolv_after_label") self.EfficiencyImproveGridLayout.addWidget(self.xiaolv_after_label, 4, 2, 1, 1) self.xiaolvlabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.xiaolvlabel.setObjectName("xiaolvlabel") self.EfficiencyImproveGridLayout.addWidget(self.xiaolvlabel, 4, 0, 1, 1) self.geimeiliang_after_label = QtWidgets.QLabel( self.gridLayoutWidget_3) self.geimeiliang_after_label.setText("") self.geimeiliang_after_label.setAlignment(QtCore.Qt.AlignCenter) self.geimeiliang_after_label.setObjectName("geimeiliang_after_label") self.EfficiencyImproveGridLayout.addWidget( self.geimeiliang_after_label, 3, 2, 1, 1) self.xiaolv_before_label = QtWidgets.QLabel(self.gridLayoutWidget_3) self.xiaolv_before_label.setText("") self.xiaolv_before_label.setAlignment(QtCore.Qt.AlignCenter) self.xiaolv_before_label.setObjectName("xiaolv_before_label") self.EfficiencyImproveGridLayout.addWidget(self.xiaolv_before_label, 4, 1, 1, 1) self.ercifenglianglabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.ercifenglianglabel.setObjectName("ercifenglianglabel") self.EfficiencyImproveGridLayout.addWidget(self.ercifenglianglabel, 2, 0, 1, 1) self.ercifengliang_before_label = QtWidgets.QLabel( self.gridLayoutWidget_3) self.ercifengliang_before_label.setText("") self.ercifengliang_before_label.setAlignment(QtCore.Qt.AlignCenter) self.ercifengliang_before_label.setObjectName( "ercifengliang_before_label") self.EfficiencyImproveGridLayout.addWidget( self.ercifengliang_before_label, 2, 1, 1, 1) self.youhuaqianlabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.youhuaqianlabel.setAlignment(QtCore.Qt.AlignCenter) self.youhuaqianlabel.setObjectName("youhuaqianlabel") self.EfficiencyImproveGridLayout.addWidget(self.youhuaqianlabel, 1, 1, 1, 1) self.youhuahoulabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.youhuahoulabel.setAlignment(QtCore.Qt.AlignCenter) self.youhuahoulabel.setObjectName("youhuahoulabel") self.EfficiencyImproveGridLayout.addWidget(self.youhuahoulabel, 1, 2, 1, 1) self.Advicelabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.Advicelabel.setObjectName("Advicelabel") self.EfficiencyImproveGridLayout.addWidget(self.Advicelabel, 0, 1, 1, 1) self.geimeiliang_before_label = QtWidgets.QLabel( self.gridLayoutWidget_3) self.geimeiliang_before_label.setText("") self.geimeiliang_before_label.setAlignment(QtCore.Qt.AlignCenter) self.geimeiliang_before_label.setObjectName("geimeiliang_before_label") self.EfficiencyImproveGridLayout.addWidget( self.geimeiliang_before_label, 3, 1, 1, 1) self.ercifengliang_after_label = QtWidgets.QLabel( self.gridLayoutWidget_3) self.ercifengliang_after_label.setText("") self.ercifengliang_after_label.setAlignment(QtCore.Qt.AlignCenter) self.ercifengliang_after_label.setObjectName( "ercifengliang_after_label") self.EfficiencyImproveGridLayout.addWidget( self.ercifengliang_after_label, 2, 2, 1, 1) self.geimeilianglabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.geimeilianglabel.setObjectName("geimeilianglabel") self.EfficiencyImproveGridLayout.addWidget(self.geimeilianglabel, 3, 0, 1, 1) self.EfficiencyImproveBtn = QtWidgets.QPushButton( self.EfficiencyImproveTab) self.EfficiencyImproveBtn.setGeometry(QtCore.QRect(644, 669, 251, 51)) self.EfficiencyImproveBtn.setObjectName("EfficiencyImproveBtn") self.EfficiencyImproveLabel = QtWidgets.QLabel( self.EfficiencyImproveTab) self.EfficiencyImproveLabel.setGeometry(QtCore.QRect( 124, 590, 591, 51)) self.EfficiencyImproveLabel.setText("") self.EfficiencyImproveLabel.setObjectName("EfficiencyImproveLabel") self.tabWidget.addTab(self.EfficiencyImproveTab, "") self.LogTab = QtWidgets.QWidget() self.LogTab.setObjectName("LogTab") self.gridLayoutWidget_2 = QtWidgets.QWidget(self.LogTab) self.gridLayoutWidget_2.setGeometry(QtCore.QRect(19, 19, 1201, 781)) self.gridLayoutWidget_2.setObjectName("gridLayoutWidget_2") self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget_2) self.gridLayout_2.setContentsMargins(0, 0, 0, 0) self.gridLayout_2.setObjectName("gridLayout_2") self.scrollArea = QtWidgets.QScrollArea(self.gridLayoutWidget_2) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents_3 = QtWidgets.QWidget() self.scrollAreaWidgetContents_3.setGeometry( QtCore.QRect(0, 0, 1193, 777)) self.scrollAreaWidgetContents_3.setMinimumSize(QtCore.QSize(0, 777)) self.scrollAreaWidgetContents_3.setObjectName( "scrollAreaWidgetContents_3") self.LogTextEdit = QtWidgets.QTextEdit(self.scrollAreaWidgetContents_3) self.LogTextEdit.setGeometry(QtCore.QRect(-7, -1, 1211, 781)) self.LogTextEdit.setMinimumSize(QtCore.QSize(0, 777)) self.LogTextEdit.setObjectName("LogTextEdit") self.scrollArea.setWidget(self.scrollAreaWidgetContents_3) self.gridLayout_2.addWidget(self.scrollArea, 0, 1, 1, 1) self.tabWidget.addTab(self.LogTab, "") self.retranslateUi(Form) self.tabWidget.setCurrentIndex(1) self.OxygenVisualBtn.clicked.connect(Form.OxygenVisualPlot) self.DataMiningBtn.clicked.connect(Form.Calculate) self.InputBtn.clicked.connect(Form.OpenFile) self.DataVisualBtn.clicked.connect(Form.DataVisualPlot) self.HeatMapBtn.clicked.connect(Form.HeapMapPlot) self.EfficiencyImproveBtn.clicked.connect(Form.EfficiencyImprove) self.EfficiencyVisualBtn.clicked.connect(Form.EfficiencyVisualPlot) QtCore.QMetaObject.connectSlotsByName(Form)
class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(1610, 914) self.groupBox = QtWidgets.QGroupBox(Form) self.groupBox.setGeometry(QtCore.QRect(0, 20, 1561, 921)) font = QtGui.QFont() font.setPointSize(25) self.groupBox.setFont(font) self.groupBox.setTitle("") self.groupBox.setAlignment(QtCore.Qt.AlignCenter) self.groupBox.setObjectName("groupBox") self.tabWidget = QtWidgets.QTabWidget(self.groupBox) self.tabWidget.setGeometry(QtCore.QRect(-10, 50, 1571, 871)) self.tabWidget.setObjectName("tabWidget") self.DataMiningTab = QtWidgets.QWidget() self.DataMiningTab.setObjectName("DataMiningTab") self.InputBtn = QtWidgets.QPushButton(self.DataMiningTab) self.InputBtn.setGeometry(QtCore.QRect(20, 20, 141, 41)) self.InputBtn.setStyleSheet("font: 15pt \"Ubuntu\";") self.InputBtn.setAutoDefault(False) self.InputBtn.setObjectName("InputBtn") self.DataMiningBtn = QtWidgets.QPushButton(self.DataMiningTab) self.DataMiningBtn.setGeometry(QtCore.QRect(170, 20, 181, 41)) self.DataMiningBtn.setStyleSheet("font: 15pt \"Ubuntu\";") self.DataMiningBtn.setObjectName("DataMiningBtn") self.DataMiningLabel = QtWidgets.QLabel(self.DataMiningTab) self.DataMiningLabel.setGeometry(QtCore.QRect(390, 20, 731, 41)) self.DataMiningLabel.setStyleSheet("font: 15pt \"Ubuntu\";") self.DataMiningLabel.setText("") self.DataMiningLabel.setTextFormat(QtCore.Qt.RichText) self.DataMiningLabel.setAlignment(QtCore.Qt.AlignJustify | QtCore.Qt.AlignVCenter) self.DataMiningLabel.setObjectName("DataMiningLabel") self.gridLayoutWidget = QtWidgets.QWidget(self.DataMiningTab) self.gridLayoutWidget.setGeometry(QtCore.QRect(20, 80, 1531, 721)) self.gridLayoutWidget.setObjectName("gridLayoutWidget") self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.DataMiningTableWidget = QtWidgets.QTableWidget( self.gridLayoutWidget) self.DataMiningTableWidget.setStyleSheet("font: 15pt \"Ubuntu\";") self.DataMiningTableWidget.setObjectName("DataMiningTableWidget") self.DataMiningTableWidget.setColumnCount(0) self.DataMiningTableWidget.setRowCount(0) self.gridLayout.addWidget(self.DataMiningTableWidget, 0, 0, 1, 1) self.tabWidget.addTab(self.DataMiningTab, "") self.DataVisualTab = QtWidgets.QWidget() self.DataVisualTab.setObjectName("DataVisualTab") self.DataVisualWidget = MatplotlibWidget(self.DataVisualTab) self.DataVisualWidget.setGeometry(QtCore.QRect(400, 90, 1131, 600)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.DataVisualWidget.sizePolicy().hasHeightForWidth()) self.DataVisualWidget.setSizePolicy(sizePolicy) self.DataVisualWidget.setObjectName("DataVisualWidget") self.DataVisualSplitter = QtWidgets.QSplitter(self.DataVisualTab) self.DataVisualSplitter.setGeometry(QtCore.QRect(40, 90, 321, 601)) self.DataVisualSplitter.setOrientation(QtCore.Qt.Vertical) self.DataVisualSplitter.setObjectName("DataVisualSplitter") self.xsplitter = QtWidgets.QSplitter(self.DataVisualSplitter) self.xsplitter.setOrientation(QtCore.Qt.Horizontal) self.xsplitter.setObjectName("xsplitter") self.XLabel = QtWidgets.QLabel(self.xsplitter) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.XLabel.sizePolicy().hasHeightForWidth()) self.XLabel.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.XLabel.setFont(font) self.XLabel.setObjectName("XLabel") self.XComboBox = QtWidgets.QComboBox(self.xsplitter) font = QtGui.QFont() font.setPointSize(12) self.XComboBox.setFont(font) self.XComboBox.setObjectName("XComboBox") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.XComboBox.addItem("") self.ysplitter = QtWidgets.QSplitter(self.DataVisualSplitter) self.ysplitter.setOrientation(QtCore.Qt.Horizontal) self.ysplitter.setObjectName("ysplitter") self.YLabel = QtWidgets.QLabel(self.ysplitter) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.YLabel.sizePolicy().hasHeightForWidth()) self.YLabel.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.YLabel.setFont(font) self.YLabel.setObjectName("YLabel") self.YComboBox = QtWidgets.QComboBox(self.ysplitter) font = QtGui.QFont() font.setPointSize(12) self.YComboBox.setFont(font) self.YComboBox.setObjectName("YComboBox") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.YComboBox.addItem("") self.DataVisualBtn = QtWidgets.QPushButton(self.DataVisualSplitter) font = QtGui.QFont() font.setPointSize(12) self.DataVisualBtn.setFont(font) self.DataVisualBtn.setObjectName("DataVisualBtn") self.DataVisualLabel = QtWidgets.QLabel(self.DataVisualSplitter) font = QtGui.QFont() font.setPointSize(12) self.DataVisualLabel.setFont(font) self.DataVisualLabel.setObjectName("DataVisualLabel") self.HeatMapBtn = QtWidgets.QPushButton(self.DataVisualSplitter) font = QtGui.QFont() font.setPointSize(12) self.HeatMapBtn.setFont(font) self.HeatMapBtn.setObjectName("HeatMapBtn") self.tabWidget.addTab(self.DataVisualTab, "") self.OxygenTab = QtWidgets.QWidget() self.OxygenTab.setObjectName("OxygenTab") self.OxygenVisualWidget = MatplotlibWidget(self.OxygenTab) self.OxygenVisualWidget.setGeometry(QtCore.QRect(120, 60, 600, 480)) self.OxygenVisualWidget.setObjectName("OxygenVisualWidget") self.OxygenVisualBtn = QtWidgets.QPushButton(self.OxygenTab) self.OxygenVisualBtn.setGeometry(QtCore.QRect(720, 680, 111, 31)) self.OxygenVisualBtn.setStyleSheet("font: 15pt \"Ubuntu\";") self.OxygenVisualBtn.setObjectName("OxygenVisualBtn") self.OxygenVisualValidationWidget = MatplotlibWidget(self.OxygenTab) self.OxygenVisualValidationWidget.setGeometry( QtCore.QRect(840, 60, 600, 480)) self.OxygenVisualValidationWidget.setObjectName( "OxygenVisualValidationWidget") self.OxygenLabel = QtWidgets.QLabel(self.OxygenTab) self.OxygenLabel.setGeometry(QtCore.QRect(110, 590, 611, 51)) font = QtGui.QFont() font.setPointSize(14) font.setBold(True) font.setWeight(75) self.OxygenLabel.setFont(font) self.OxygenLabel.setText("") self.OxygenLabel.setObjectName("OxygenLabel") self.CrossValidationLabel = QtWidgets.QLabel(self.OxygenTab) self.CrossValidationLabel.setGeometry(QtCore.QRect(830, 590, 611, 51)) font = QtGui.QFont() font.setPointSize(14) font.setBold(True) font.setWeight(75) self.CrossValidationLabel.setFont(font) self.CrossValidationLabel.setText("") self.CrossValidationLabel.setObjectName("CrossValidationLabel") self.tabWidget.addTab(self.OxygenTab, "") self.EfficiencyTab = QtWidgets.QWidget() self.EfficiencyTab.setObjectName("EfficiencyTab") self.EfficiencyVisualWidget = MatplotlibWidget(self.EfficiencyTab) self.EfficiencyVisualWidget.setGeometry(QtCore.QRect( 120, 60, 600, 480)) self.EfficiencyVisualWidget.setObjectName("EfficiencyVisualWidget") self.EfficiencyVisualValidationWidget = MatplotlibWidget( self.EfficiencyTab) self.EfficiencyVisualValidationWidget.setGeometry( QtCore.QRect(840, 60, 600, 480)) self.EfficiencyVisualValidationWidget.setObjectName( "EfficiencyVisualValidationWidget") self.EfficiencyVisualBtn = QtWidgets.QPushButton(self.EfficiencyTab) self.EfficiencyVisualBtn.setGeometry(QtCore.QRect(720, 680, 111, 31)) self.EfficiencyVisualBtn.setStyleSheet("font: 15pt \"Ubuntu\";") self.EfficiencyVisualBtn.setObjectName("EfficiencyVisualBtn") self.EfficiencyLabel = QtWidgets.QLabel(self.EfficiencyTab) self.EfficiencyLabel.setGeometry(QtCore.QRect(110, 590, 611, 51)) font = QtGui.QFont() font.setPointSize(14) font.setBold(True) font.setWeight(75) self.EfficiencyLabel.setFont(font) self.EfficiencyLabel.setText("") self.EfficiencyLabel.setObjectName("EfficiencyLabel") self.EfficiencyCrossValidationLabel = QtWidgets.QLabel( self.EfficiencyTab) self.EfficiencyCrossValidationLabel.setGeometry( QtCore.QRect(830, 590, 611, 51)) font = QtGui.QFont() font.setPointSize(14) font.setBold(True) font.setWeight(75) self.EfficiencyCrossValidationLabel.setFont(font) self.EfficiencyCrossValidationLabel.setText("") self.EfficiencyCrossValidationLabel.setObjectName( "EfficiencyCrossValidationLabel") self.tabWidget.addTab(self.EfficiencyTab, "") self.EfficiencyImproveTab = QtWidgets.QWidget() self.EfficiencyImproveTab.setObjectName("EfficiencyImproveTab") self.EfficiencyImproveWidget = MatplotlibWidget( self.EfficiencyImproveTab) self.EfficiencyImproveWidget.setGeometry( QtCore.QRect(120, 70, 600, 480)) self.EfficiencyImproveWidget.setObjectName("EfficiencyImproveWidget") self.gridLayoutWidget_3 = QtWidgets.QWidget(self.EfficiencyImproveTab) self.gridLayoutWidget_3.setGeometry(QtCore.QRect(760, 70, 785, 481)) self.gridLayoutWidget_3.setObjectName("gridLayoutWidget_3") self.EfficiencyImproveGridLayout = QtWidgets.QGridLayout( self.gridLayoutWidget_3) self.EfficiencyImproveGridLayout.setContentsMargins(0, 0, 0, 0) self.EfficiencyImproveGridLayout.setObjectName( "EfficiencyImproveGridLayout") self.xiaolv_after_label = QtWidgets.QLabel(self.gridLayoutWidget_3) self.xiaolv_after_label.setText("") self.xiaolv_after_label.setAlignment(QtCore.Qt.AlignCenter) self.xiaolv_after_label.setObjectName("xiaolv_after_label") self.EfficiencyImproveGridLayout.addWidget(self.xiaolv_after_label, 4, 2, 1, 1) self.xiaolvlabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.xiaolvlabel.setObjectName("xiaolvlabel") self.EfficiencyImproveGridLayout.addWidget(self.xiaolvlabel, 4, 0, 1, 1) self.geimeiliang_after_label = QtWidgets.QLabel( self.gridLayoutWidget_3) self.geimeiliang_after_label.setText("") self.geimeiliang_after_label.setAlignment(QtCore.Qt.AlignCenter) self.geimeiliang_after_label.setObjectName("geimeiliang_after_label") self.EfficiencyImproveGridLayout.addWidget( self.geimeiliang_after_label, 3, 2, 1, 1) self.xiaolv_before_label = QtWidgets.QLabel(self.gridLayoutWidget_3) self.xiaolv_before_label.setText("") self.xiaolv_before_label.setAlignment(QtCore.Qt.AlignCenter) self.xiaolv_before_label.setObjectName("xiaolv_before_label") self.EfficiencyImproveGridLayout.addWidget(self.xiaolv_before_label, 4, 1, 1, 1) self.ercifenglianglabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.ercifenglianglabel.setObjectName("ercifenglianglabel") self.EfficiencyImproveGridLayout.addWidget(self.ercifenglianglabel, 2, 0, 1, 1) self.ercifengliang_before_label = QtWidgets.QLabel( self.gridLayoutWidget_3) self.ercifengliang_before_label.setText("") self.ercifengliang_before_label.setAlignment(QtCore.Qt.AlignCenter) self.ercifengliang_before_label.setObjectName( "ercifengliang_before_label") self.EfficiencyImproveGridLayout.addWidget( self.ercifengliang_before_label, 2, 1, 1, 1) self.youhuaqianlabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.youhuaqianlabel.setAlignment(QtCore.Qt.AlignCenter) self.youhuaqianlabel.setObjectName("youhuaqianlabel") self.EfficiencyImproveGridLayout.addWidget(self.youhuaqianlabel, 1, 1, 1, 1) self.youhuahoulabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.youhuahoulabel.setAlignment(QtCore.Qt.AlignCenter) self.youhuahoulabel.setObjectName("youhuahoulabel") self.EfficiencyImproveGridLayout.addWidget(self.youhuahoulabel, 1, 2, 1, 1) self.Advicelabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.Advicelabel.setObjectName("Advicelabel") self.EfficiencyImproveGridLayout.addWidget(self.Advicelabel, 0, 1, 1, 1) self.geimeiliang_before_label = QtWidgets.QLabel( self.gridLayoutWidget_3) self.geimeiliang_before_label.setText("") self.geimeiliang_before_label.setAlignment(QtCore.Qt.AlignCenter) self.geimeiliang_before_label.setObjectName("geimeiliang_before_label") self.EfficiencyImproveGridLayout.addWidget( self.geimeiliang_before_label, 3, 1, 1, 1) self.ercifengliang_after_label = QtWidgets.QLabel( self.gridLayoutWidget_3) self.ercifengliang_after_label.setText("") self.ercifengliang_after_label.setAlignment(QtCore.Qt.AlignCenter) self.ercifengliang_after_label.setObjectName( "ercifengliang_after_label") self.EfficiencyImproveGridLayout.addWidget( self.ercifengliang_after_label, 2, 2, 1, 1) self.geimeilianglabel = QtWidgets.QLabel(self.gridLayoutWidget_3) self.geimeilianglabel.setObjectName("geimeilianglabel") self.EfficiencyImproveGridLayout.addWidget(self.geimeilianglabel, 3, 0, 1, 1) self.EfficiencyImproveBtn = QtWidgets.QPushButton( self.EfficiencyImproveTab) self.EfficiencyImproveBtn.setGeometry(QtCore.QRect(644, 669, 251, 51)) self.EfficiencyImproveBtn.setObjectName("EfficiencyImproveBtn") self.EfficiencyImproveLabel = QtWidgets.QLabel( self.EfficiencyImproveTab) self.EfficiencyImproveLabel.setGeometry(QtCore.QRect( 124, 590, 591, 51)) self.EfficiencyImproveLabel.setText("") self.EfficiencyImproveLabel.setObjectName("EfficiencyImproveLabel") self.tabWidget.addTab(self.EfficiencyImproveTab, "") self.LogTab = QtWidgets.QWidget() self.LogTab.setObjectName("LogTab") self.gridLayoutWidget_2 = QtWidgets.QWidget(self.LogTab) self.gridLayoutWidget_2.setGeometry(QtCore.QRect(19, 19, 1201, 781)) self.gridLayoutWidget_2.setObjectName("gridLayoutWidget_2") self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget_2) self.gridLayout_2.setContentsMargins(0, 0, 0, 0) self.gridLayout_2.setObjectName("gridLayout_2") self.scrollArea = QtWidgets.QScrollArea(self.gridLayoutWidget_2) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents_3 = QtWidgets.QWidget() self.scrollAreaWidgetContents_3.setGeometry( QtCore.QRect(0, 0, 1193, 777)) self.scrollAreaWidgetContents_3.setMinimumSize(QtCore.QSize(0, 777)) self.scrollAreaWidgetContents_3.setObjectName( "scrollAreaWidgetContents_3") self.LogTextEdit = QtWidgets.QTextEdit(self.scrollAreaWidgetContents_3) self.LogTextEdit.setGeometry(QtCore.QRect(-7, -1, 1211, 781)) self.LogTextEdit.setMinimumSize(QtCore.QSize(0, 777)) self.LogTextEdit.setObjectName("LogTextEdit") self.scrollArea.setWidget(self.scrollAreaWidgetContents_3) self.gridLayout_2.addWidget(self.scrollArea, 0, 1, 1, 1) self.tabWidget.addTab(self.LogTab, "") self.retranslateUi(Form) self.tabWidget.setCurrentIndex(1) self.OxygenVisualBtn.clicked.connect(Form.OxygenVisualPlot) self.DataMiningBtn.clicked.connect(Form.Calculate) self.InputBtn.clicked.connect(Form.OpenFile) self.DataVisualBtn.clicked.connect(Form.DataVisualPlot) self.HeatMapBtn.clicked.connect(Form.HeapMapPlot) self.EfficiencyImproveBtn.clicked.connect(Form.EfficiencyImprove) self.EfficiencyVisualBtn.clicked.connect(Form.EfficiencyVisualPlot) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "火电关键参数软测量及效率优化系统")) Form.setWhatsThis( _translate("Form", "<html><head/><body><p><br/></p></body></html>")) self.InputBtn.setText(_translate("Form", "导入数据")) self.DataMiningBtn.setText(_translate("Form", "数据预处理")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.DataMiningTab), _translate("Form", "数据预处理")) self.XLabel.setText(_translate("Form", "X轴:")) self.XComboBox.setItemText(0, _translate("Form", "sample")) self.XComboBox.setItemText(1, _translate("Form", "给煤量")) self.XComboBox.setItemText(2, _translate("Form", "排烟温度")) self.XComboBox.setItemText(3, _translate("Form", "主蒸汽压力")) self.XComboBox.setItemText(4, _translate("Form", "炉膛出口烟温度")) self.XComboBox.setItemText(5, _translate("Form", "主蒸汽温度")) self.XComboBox.setItemText(6, _translate("Form", "机组负荷")) self.XComboBox.setItemText(7, _translate("Form", "给水温度")) self.XComboBox.setItemText(8, _translate("Form", "给水流量")) self.XComboBox.setItemText(9, _translate("Form", "一次风量")) self.XComboBox.setItemText(10, _translate("Form", "二次风量")) self.XComboBox.setItemText(11, _translate("Form", "二次风温")) self.XComboBox.setItemText(12, _translate("Form", "含氧量")) self.XComboBox.setItemText(13, _translate("Form", "效率")) self.YLabel.setText(_translate("Form", "Y轴:")) self.YComboBox.setItemText(0, _translate("Form", "含氧量")) self.YComboBox.setItemText(1, _translate("Form", "效率")) self.YComboBox.setItemText(2, _translate("Form", "给煤量")) self.YComboBox.setItemText(3, _translate("Form", "排烟温度")) self.YComboBox.setItemText(4, _translate("Form", "主蒸汽压力")) self.YComboBox.setItemText(5, _translate("Form", "炉膛出口烟温度")) self.YComboBox.setItemText(6, _translate("Form", "主蒸汽温度")) self.YComboBox.setItemText(7, _translate("Form", "机组负荷")) self.YComboBox.setItemText(8, _translate("Form", "给水温度")) self.YComboBox.setItemText(9, _translate("Form", "给水流量")) self.YComboBox.setItemText(10, _translate("Form", "一次风量")) self.YComboBox.setItemText(11, _translate("Form", "二次风量")) self.YComboBox.setItemText(12, _translate("Form", "二次风温")) self.DataVisualBtn.setText(_translate("Form", "画图")) self.DataVisualLabel.setText(_translate("Form", "特殊类型图:")) self.HeatMapBtn.setText(_translate("Form", "1. HeatMap")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.DataVisualTab), _translate("Form", "数据可视化")) self.OxygenVisualBtn.setText(_translate("Form", "预测")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.OxygenTab), _translate("Form", "烟气含氧量软测量")) self.EfficiencyVisualBtn.setText(_translate("Form", "预测")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.EfficiencyTab), _translate("Form", "效率软测量")) self.xiaolvlabel.setText(_translate("Form", "效率:")) self.ercifenglianglabel.setText(_translate("Form", "二次风量:")) self.youhuaqianlabel.setText(_translate("Form", "优化前")) self.youhuahoulabel.setText(_translate("Form", "优化后")) self.Advicelabel.setText(_translate("Form", "控制量优化建议")) self.geimeilianglabel.setText(_translate("Form", "给煤量:")) self.EfficiencyImproveBtn.setText(_translate("Form", "开始优化")) self.tabWidget.setTabText( self.tabWidget.indexOf(self.EfficiencyImproveTab), _translate("Form", "效率优化")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.LogTab), _translate("Form", "系统日志"))
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1280, 720) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.LoginpushButton = QtWidgets.QPushButton(self.centralwidget) self.LoginpushButton.setGeometry(QtCore.QRect(10, 30, 75, 23)) self.LoginpushButton.setObjectName("LoginpushButton") self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) self.tabWidget.setGeometry(QtCore.QRect(100, 10, 1171, 661)) self.tabWidget.setTabPosition(QtWidgets.QTabWidget.North) self.tabWidget.setObjectName("tabWidget") self.Commtab = QtWidgets.QWidget() self.Commtab.setObjectName("Commtab") self.tabWidget.addTab(self.Commtab, "") self.UISettab = QtWidgets.QWidget() self.UISettab.setObjectName("UISettab") self.tabWidget.addTab(self.UISettab, "") self.Analysetab = QtWidgets.QWidget() self.Analysetab.setObjectName("Analysetab") self.paintpushButton = QtWidgets.QPushButton(self.Analysetab) self.paintpushButton.setGeometry(QtCore.QRect(30, 40, 75, 23)) self.paintpushButton.setObjectName("paintpushButton") self.horizontalLayoutWidget = QtWidgets.QWidget(self.Analysetab) self.horizontalLayoutWidget.setGeometry(QtCore.QRect( 130, 20, 971, 611)) self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget") self.horizontalLayout = QtWidgets.QHBoxLayout( self.horizontalLayoutWidget) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.tabWidget.addTab(self.Analysetab, "") self.pygraphtab = QtWidgets.QWidget() self.pygraphtab.setObjectName("pygraphtab") self.verticalLayoutWidget = QtWidgets.QWidget(self.pygraphtab) self.verticalLayoutWidget.setGeometry(QtCore.QRect(20, 10, 1071, 611)) self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.tabWidget.addTab(self.pygraphtab, "") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.widget = MatplotlibWidget(self.tab) self.widget.setGeometry(QtCore.QRect(220, 20, 841, 241)) self.widget.setObjectName("widget") self.widget_2 = MatplotlibWidget(self.tab) self.widget_2.setGeometry(QtCore.QRect(220, 280, 841, 301)) self.widget_2.setObjectName("widget_2") self.paintBtn_1 = QtWidgets.QPushButton(self.tab) self.paintBtn_1.setGeometry(QtCore.QRect(50, 50, 75, 23)) self.paintBtn_1.setObjectName("paintBtn_1") self.paintBtn_2 = QtWidgets.QPushButton(self.tab) self.paintBtn_2.setGeometry(QtCore.QRect(60, 310, 75, 23)) self.paintBtn_2.setObjectName("paintBtn_2") self.tabWidget.addTab(self.tab, "") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 23)) self.menubar.setObjectName("menubar") self.menuFile = QtWidgets.QMenu(self.menubar) self.menuFile.setObjectName("menuFile") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.menubar.addAction(self.menuFile.menuAction()) self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(4) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def setupUi(self, Visualization): Visualization.setObjectName("Visualization") Visualization.resize(1312, 808) self.gridLayout_4 = QtWidgets.QGridLayout(Visualization) self.gridLayout_4.setObjectName("gridLayout_4") self.verticalLayout_6 = QtWidgets.QVBoxLayout() self.verticalLayout_6.setObjectName("verticalLayout_6") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.buttonLoadResult = QtWidgets.QPushButton(Visualization) self.buttonLoadResult.setObjectName("buttonLoadResult") self.verticalLayout.addWidget(self.buttonLoadResult) self.buttonClearResult = QtWidgets.QPushButton(Visualization) self.buttonClearResult.setEnabled(False) self.buttonClearResult.setObjectName("buttonClearResult") self.verticalLayout.addWidget(self.buttonClearResult) self.lineEditResultPath = QtWidgets.QLineEdit(Visualization) self.lineEditResultPath.setObjectName("lineEditResultPath") self.verticalLayout.addWidget(self.lineEditResultPath) self.textEditDescription = QtWidgets.QTextEdit(Visualization) self.textEditDescription.setObjectName("textEditDescription") self.verticalLayout.addWidget(self.textEditDescription) self.buttonSave = QtWidgets.QPushButton(Visualization) self.buttonSave.setEnabled(False) self.buttonSave.setObjectName("buttonSave") self.verticalLayout.addWidget(self.buttonSave) self.horizontalLayout_2.addLayout(self.verticalLayout) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.verticalLayout_2 = QtWidgets.QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") self.label_7 = QtWidgets.QLabel(Visualization) self.label_7.setObjectName("label_7") self.verticalLayout_2.addWidget(self.label_7) self.comboSheet = QtWidgets.QComboBox(Visualization) self.comboSheet.setObjectName("comboSheet") self.verticalLayout_2.addWidget(self.comboSheet) spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem) self.label = QtWidgets.QLabel(Visualization) self.label.setObjectName("label") self.verticalLayout_2.addWidget(self.label) self.checkMaxFeatureNumber = QtWidgets.QCheckBox(Visualization) self.checkMaxFeatureNumber.setObjectName("checkMaxFeatureNumber") self.verticalLayout_2.addWidget(self.checkMaxFeatureNumber) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem1) self.horizontalLayout.addLayout(self.verticalLayout_2) self.tableClinicalStatistic = QtWidgets.QTableWidget(Visualization) self.tableClinicalStatistic.setObjectName("tableClinicalStatistic") self.tableClinicalStatistic.setColumnCount(0) self.tableClinicalStatistic.setRowCount(0) self.horizontalLayout.addWidget(self.tableClinicalStatistic) self.horizontalLayout_2.addLayout(self.horizontalLayout) self.horizontalLayout_2.setStretch(1, 2) self.verticalLayout_6.addLayout(self.horizontalLayout_2) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.verticalLayout_3 = QtWidgets.QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") self.label_2 = QtWidgets.QLabel(Visualization) self.label_2.setObjectName("label_2") self.verticalLayout_3.addWidget(self.label_2) self.canvasROC = MatplotlibWidget(Visualization) self.canvasROC.setMinimumSize(QtCore.QSize(400, 400)) self.canvasROC.setObjectName("canvasROC") self.verticalLayout_3.addWidget(self.canvasROC) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.checkROCCVTrain = QtWidgets.QCheckBox(Visualization) self.checkROCCVTrain.setObjectName("checkROCCVTrain") self.horizontalLayout_3.addWidget(self.checkROCCVTrain) self.checkROCCVValidation = QtWidgets.QCheckBox(Visualization) self.checkROCCVValidation.setObjectName("checkROCCVValidation") self.horizontalLayout_3.addWidget(self.checkROCCVValidation) self.checkROCTrain = QtWidgets.QCheckBox(Visualization) self.checkROCTrain.setObjectName("checkROCTrain") self.horizontalLayout_3.addWidget(self.checkROCTrain) self.checkROCTest = QtWidgets.QCheckBox(Visualization) self.checkROCTest.setObjectName("checkROCTest") self.horizontalLayout_3.addWidget(self.checkROCTest) self.verticalLayout_3.addLayout(self.horizontalLayout_3) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.comboNormalizer = QtWidgets.QComboBox(Visualization) self.comboNormalizer.setObjectName("comboNormalizer") self.gridLayout.addWidget(self.comboNormalizer, 0, 0, 1, 1) self.comboDimensionReduction = QtWidgets.QComboBox(Visualization) self.comboDimensionReduction.setObjectName("comboDimensionReduction") self.gridLayout.addWidget(self.comboDimensionReduction, 0, 1, 1, 1) self.comboClassifier = QtWidgets.QComboBox(Visualization) self.comboClassifier.setObjectName("comboClassifier") self.gridLayout.addWidget(self.comboClassifier, 0, 2, 1, 1) self.comboFeatureSelector = QtWidgets.QComboBox(Visualization) self.comboFeatureSelector.setObjectName("comboFeatureSelector") self.gridLayout.addWidget(self.comboFeatureSelector, 1, 0, 1, 1) self.spinBoxFeatureNumber = QtWidgets.QSpinBox(Visualization) self.spinBoxFeatureNumber.setObjectName("spinBoxFeatureNumber") self.gridLayout.addWidget(self.spinBoxFeatureNumber, 1, 1, 1, 1) self.verticalLayout_3.addLayout(self.gridLayout) self.horizontalLayout_5.addLayout(self.verticalLayout_3) self.verticalLayout_4 = QtWidgets.QVBoxLayout() self.verticalLayout_4.setObjectName("verticalLayout_4") self.label_3 = QtWidgets.QLabel(Visualization) self.label_3.setObjectName("label_3") self.verticalLayout_4.addWidget(self.label_3) self.canvasPlot = MatplotlibWidget(Visualization) self.canvasPlot.setMinimumSize(QtCore.QSize(400, 400)) self.canvasPlot.setObjectName("canvasPlot") self.verticalLayout_4.addWidget(self.canvasPlot) self.horizontalLayout_4 = QtWidgets.QHBoxLayout() self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.checkPlotCVTrain = QtWidgets.QCheckBox(Visualization) self.checkPlotCVTrain.setObjectName("checkPlotCVTrain") self.horizontalLayout_4.addWidget(self.checkPlotCVTrain) self.checkPlotCVValidation = QtWidgets.QCheckBox(Visualization) self.checkPlotCVValidation.setObjectName("checkPlotCVValidation") self.horizontalLayout_4.addWidget(self.checkPlotCVValidation) self.checkPlotTrain = QtWidgets.QCheckBox(Visualization) self.checkPlotTrain.setObjectName("checkPlotTrain") self.horizontalLayout_4.addWidget(self.checkPlotTrain) self.checkPlotTest = QtWidgets.QCheckBox(Visualization) self.checkPlotTest.setObjectName("checkPlotTest") self.horizontalLayout_4.addWidget(self.checkPlotTest) self.verticalLayout_4.addLayout(self.horizontalLayout_4) self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") self.label_5 = QtWidgets.QLabel(Visualization) self.label_5.setObjectName("label_5") self.gridLayout_2.addWidget(self.label_5, 0, 0, 1, 1) self.comboPlotY = QtWidgets.QComboBox(Visualization) self.comboPlotY.setObjectName("comboPlotY") self.gridLayout_2.addWidget(self.comboPlotY, 0, 1, 1, 2) self.label_6 = QtWidgets.QLabel(Visualization) self.label_6.setObjectName("label_6") self.gridLayout_2.addWidget(self.label_6, 0, 3, 1, 2) self.comboPlotX = QtWidgets.QComboBox(Visualization) self.comboPlotX.setObjectName("comboPlotX") self.gridLayout_2.addWidget(self.comboPlotX, 0, 5, 1, 2) self.checkPlotMaximum = QtWidgets.QCheckBox(Visualization) self.checkPlotMaximum.setObjectName("checkPlotMaximum") self.gridLayout_2.addWidget(self.checkPlotMaximum, 0, 7, 1, 2) self.comboPlotNormalizer = QtWidgets.QComboBox(Visualization) self.comboPlotNormalizer.setObjectName("comboPlotNormalizer") self.gridLayout_2.addWidget(self.comboPlotNormalizer, 1, 0, 1, 2) self.comboPlotDimensionReduction = QtWidgets.QComboBox(Visualization) self.comboPlotDimensionReduction.setObjectName("comboPlotDimensionReduction") self.gridLayout_2.addWidget(self.comboPlotDimensionReduction, 1, 2, 1, 2) self.comboPlotFeatureSelector = QtWidgets.QComboBox(Visualization) self.comboPlotFeatureSelector.setObjectName("comboPlotFeatureSelector") self.gridLayout_2.addWidget(self.comboPlotFeatureSelector, 1, 4, 1, 2) self.comboPlotClassifier = QtWidgets.QComboBox(Visualization) self.comboPlotClassifier.setObjectName("comboPlotClassifier") self.gridLayout_2.addWidget(self.comboPlotClassifier, 1, 6, 1, 2) self.spinPlotFeatureNumber = QtWidgets.QSpinBox(Visualization) self.spinPlotFeatureNumber.setObjectName("spinPlotFeatureNumber") self.gridLayout_2.addWidget(self.spinPlotFeatureNumber, 1, 8, 1, 1) self.verticalLayout_4.addLayout(self.gridLayout_2) self.horizontalLayout_5.addLayout(self.verticalLayout_4) self.verticalLayout_5 = QtWidgets.QVBoxLayout() self.verticalLayout_5.setObjectName("verticalLayout_5") self.label_4 = QtWidgets.QLabel(Visualization) self.label_4.setObjectName("label_4") self.verticalLayout_5.addWidget(self.label_4) self.canvasFeature = MatplotlibWidget(Visualization) self.canvasFeature.setMinimumSize(QtCore.QSize(400, 400)) self.canvasFeature.setObjectName("canvasFeature") self.verticalLayout_5.addWidget(self.canvasFeature) self.checkContributionShow = QtWidgets.QCheckBox(Visualization) self.checkContributionShow.setObjectName("checkContributionShow") self.verticalLayout_5.addWidget(self.checkContributionShow) self.gridLayout_3 = QtWidgets.QGridLayout() self.gridLayout_3.setObjectName("gridLayout_3") self.radioContributionFeatureSelector = QtWidgets.QRadioButton(Visualization) self.radioContributionFeatureSelector.setChecked(True) self.radioContributionFeatureSelector.setObjectName("radioContributionFeatureSelector") self.gridLayout_3.addWidget(self.radioContributionFeatureSelector, 1, 0, 1, 1) self.comboContributionFeatureSelector = QtWidgets.QComboBox(Visualization) self.comboContributionFeatureSelector.setObjectName("comboContributionFeatureSelector") self.gridLayout_3.addWidget(self.comboContributionFeatureSelector, 1, 1, 1, 1) self.radioContributionClassifier = QtWidgets.QRadioButton(Visualization) self.radioContributionClassifier.setObjectName("radioContributionClassifier") self.gridLayout_3.addWidget(self.radioContributionClassifier, 2, 0, 1, 1) self.comboContributionClassifier = QtWidgets.QComboBox(Visualization) self.comboContributionClassifier.setObjectName("comboContributionClassifier") self.gridLayout_3.addWidget(self.comboContributionClassifier, 2, 1, 1, 1) self.spinFeatureSelectorFeatureNumber = QtWidgets.QSpinBox(Visualization) self.spinFeatureSelectorFeatureNumber.setMinimum(1) self.spinFeatureSelectorFeatureNumber.setObjectName("spinFeatureSelectorFeatureNumber") self.gridLayout_3.addWidget(self.spinFeatureSelectorFeatureNumber, 1, 2, 1, 1) self.spinClassifierFeatureNumber = QtWidgets.QSpinBox(Visualization) self.spinClassifierFeatureNumber.setMinimum(1) self.spinClassifierFeatureNumber.setObjectName("spinClassifierFeatureNumber") self.gridLayout_3.addWidget(self.spinClassifierFeatureNumber, 2, 2, 1, 1) self.verticalLayout_5.addLayout(self.gridLayout_3) self.horizontalLayout_5.addLayout(self.verticalLayout_5) self.verticalLayout_6.addLayout(self.horizontalLayout_5) self.gridLayout_4.addLayout(self.verticalLayout_6, 0, 0, 1, 1) self.retranslateUi(Visualization) QtCore.QMetaObject.connectSlotsByName(Visualization)
def setupUi(self, MediaPlayer): MediaPlayer.setObjectName("MediaPlayer") MediaPlayer.resize(809, 516) self.centralwidget = QtWidgets.QWidget(MediaPlayer) self.centralwidget.setObjectName("centralwidget") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.centralwidget) self.verticalLayout_2.setObjectName("verticalLayout_2") self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.videoframe = QtWidgets.QFrame(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.videoframe.sizePolicy().hasHeightForWidth()) self.videoframe.setSizePolicy(sizePolicy) self.videoframe.setMinimumSize(QtCore.QSize(521, 401)) self.videoframe.setMaximumSize(QtCore.QSize(16777215, 16777215)) palette = QtGui.QPalette() brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush) self.videoframe.setPalette(palette) self.videoframe.setFrameShape(QtWidgets.QFrame.StyledPanel) self.videoframe.setFrameShadow(QtWidgets.QFrame.Raised) self.videoframe.setObjectName("videoframe") self.verticalLayout.addWidget(self.videoframe) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.positionslider = QtWidgets.QSlider(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.positionslider.sizePolicy().hasHeightForWidth()) self.positionslider.setSizePolicy(sizePolicy) self.positionslider.setMinimumSize(QtCore.QSize(451, 0)) self.positionslider.setOrientation(QtCore.Qt.Horizontal) self.positionslider.setObjectName("positionslider") self.horizontalLayout_2.addWidget(self.positionslider) self.timelabel = QtWidgets.QLabel(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.timelabel.sizePolicy().hasHeightForWidth()) self.timelabel.setSizePolicy(sizePolicy) self.timelabel.setObjectName("timelabel") self.horizontalLayout_2.addWidget(self.timelabel) self.verticalLayout.addLayout(self.horizontalLayout_2) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.playButton = QtWidgets.QPushButton(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.playButton.sizePolicy().hasHeightForWidth()) self.playButton.setSizePolicy(sizePolicy) self.playButton.setText("") icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("d:\\Github\\pyqt-vlc\\pyqt\\../src/play.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.playButton.setIcon(icon) self.playButton.setObjectName("playButton") self.horizontalLayout.addWidget(self.playButton) spacerItem = QtWidgets.QSpacerItem(250, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.fullscreenButton = QtWidgets.QPushButton(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.fullscreenButton.sizePolicy().hasHeightForWidth()) self.fullscreenButton.setSizePolicy(sizePolicy) self.fullscreenButton.setText("") icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap("d:\\Github\\pyqt-vlc\\pyqt\\../src/fullscreen.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.fullscreenButton.setIcon(icon1) self.fullscreenButton.setObjectName("fullscreenButton") self.horizontalLayout.addWidget(self.fullscreenButton) spacerItem1 = QtWidgets.QSpacerItem(5, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem1) self.soundButton = QtWidgets.QPushButton(self.centralwidget) self.soundButton.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.soundButton.sizePolicy().hasHeightForWidth()) self.soundButton.setSizePolicy(sizePolicy) self.soundButton.setMinimumSize(QtCore.QSize(28, 25)) self.soundButton.setMaximumSize(QtCore.QSize(28, 25)) self.soundButton.setText("") icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap("d:\\Github\\pyqt-vlc\\pyqt\\../src/sound.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.soundButton.setIcon(icon2) self.soundButton.setObjectName("soundButton") self.horizontalLayout.addWidget(self.soundButton) spacerItem2 = QtWidgets.QSpacerItem(10, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem2) self.volumeslider = QtWidgets.QSlider(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.volumeslider.sizePolicy().hasHeightForWidth()) self.volumeslider.setSizePolicy(sizePolicy) self.volumeslider.setMaximumSize(QtCore.QSize(100, 16777215)) self.volumeslider.setOrientation(QtCore.Qt.Horizontal) self.volumeslider.setObjectName("volumeslider") self.horizontalLayout.addWidget(self.volumeslider) self.verticalLayout.addLayout(self.horizontalLayout) self.horizontalLayout_3.addLayout(self.verticalLayout) self.toolframe = QtWidgets.QFrame(self.centralwidget) self.toolframe.setMinimumSize(QtCore.QSize(250, 0)) self.toolframe.setFrameShape(QtWidgets.QFrame.StyledPanel) self.toolframe.setFrameShadow(QtWidgets.QFrame.Raised) self.toolframe.setObjectName("toolframe") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.toolframe) self.verticalLayout_3.setObjectName("verticalLayout_3") self.frame = QtWidgets.QFrame(self.toolframe) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth()) self.frame.setSizePolicy(sizePolicy) self.frame.setMaximumSize(QtCore.QSize(300000, 600000)) self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setObjectName("frame") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frame) self.verticalLayout_4.setObjectName("verticalLayout_4") self.horizontalLayout_4 = QtWidgets.QHBoxLayout() self.horizontalLayout_4.setObjectName("horizontalLayout_4") spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem3) self.label = QtWidgets.QLabel(self.frame) font = QtGui.QFont() font.setFamily("黑体") font.setPointSize(16) self.label.setFont(font) self.label.setObjectName("label") self.horizontalLayout_4.addWidget(self.label) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem4) self.verticalLayout_4.addLayout(self.horizontalLayout_4) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setObjectName("horizontalLayout_5") spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem5) self.getStatusButton = QtWidgets.QPushButton(self.frame) self.getStatusButton.setObjectName("getStatusButton") self.horizontalLayout_5.addWidget(self.getStatusButton) self.label_status = QtWidgets.QLabel(self.frame) self.label_status.setObjectName("label_status") self.horizontalLayout_5.addWidget(self.label_status) spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem6) self.verticalLayout_4.addLayout(self.horizontalLayout_5) self.label_time = QtWidgets.QLabel(self.frame) self.label_time.setObjectName("label_time") self.verticalLayout_4.addWidget(self.label_time) self.label_rtmp = QtWidgets.QLabel(self.frame) self.label_rtmp.setObjectName("label_rtmp") self.verticalLayout_4.addWidget(self.label_rtmp) self.label_audio = QtWidgets.QLabel(self.frame) self.label_audio.setObjectName("label_audio") self.verticalLayout_4.addWidget(self.label_audio) self.label_bit = QtWidgets.QLabel(self.frame) self.label_bit.setObjectName("label_bit") self.verticalLayout_4.addWidget(self.label_bit) self.widget = MatplotlibWidget(self.frame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.widget.sizePolicy().hasHeightForWidth()) self.widget.setSizePolicy(sizePolicy) self.widget.setObjectName("widget") self.verticalLayout_4.addWidget(self.widget) self.verticalLayout_3.addWidget(self.frame) self.horizontalLayout_3.addWidget(self.toolframe) self.verticalLayout_2.addLayout(self.horizontalLayout_3) MediaPlayer.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MediaPlayer) self.menubar.setGeometry(QtCore.QRect(0, 0, 809, 22)) self.menubar.setObjectName("menubar") self.menuNetWork_Stream = QtWidgets.QMenu(self.menubar) self.menuNetWork_Stream.setObjectName("menuNetWork_Stream") self.menuView = QtWidgets.QMenu(self.menubar) self.menuView.setObjectName("menuView") self.menuExit = QtWidgets.QMenu(self.menubar) self.menuExit.setObjectName("menuExit") MediaPlayer.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MediaPlayer) self.statusbar.setObjectName("statusbar") MediaPlayer.setStatusBar(self.statusbar) self.actionLocal_Video = QtWidgets.QAction(MediaPlayer) self.actionLocal_Video.setObjectName("actionLocal_Video") self.actionStream_URL = QtWidgets.QAction(MediaPlayer) self.actionStream_URL.setObjectName("actionStream_URL") self.actionMaximize = QtWidgets.QAction(MediaPlayer) self.actionMaximize.setObjectName("actionMaximize") self.actionMinimize = QtWidgets.QAction(MediaPlayer) self.actionMinimize.setObjectName("actionMinimize") self.actionDefault = QtWidgets.QAction(MediaPlayer) self.actionDefault.setObjectName("actionDefault") self.actionExit = QtWidgets.QAction(MediaPlayer) self.actionExit.setObjectName("actionExit") self.menuNetWork_Stream.addAction(self.actionLocal_Video) self.menuNetWork_Stream.addAction(self.actionStream_URL) self.menuView.addSeparator() self.menuView.addAction(self.actionMaximize) self.menuView.addAction(self.actionMinimize) self.menuView.addAction(self.actionDefault) self.menuExit.addAction(self.actionExit) self.menubar.addAction(self.menuNetWork_Stream.menuAction()) self.menubar.addAction(self.menuView.menuAction()) self.menubar.addAction(self.menuExit.menuAction()) self.retranslateUi(MediaPlayer) QtCore.QMetaObject.connectSlotsByName(MediaPlayer)
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.centralwidget) self.verticalLayout_3.setObjectName("verticalLayout_3") self.scrollArea = QtWidgets.QScrollArea(self.centralwidget) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents = QtWidgets.QWidget() self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 763, 967)) self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.pushButton_show_dataPre = QtWidgets.QPushButton(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.pushButton_show_dataPre.sizePolicy().hasHeightForWidth()) self.pushButton_show_dataPre.setSizePolicy(sizePolicy) self.pushButton_show_dataPre.setObjectName("pushButton_show_dataPre") self.horizontalLayout_2.addWidget(self.pushButton_show_dataPre) self.pushButton_show_trade_flow = QtWidgets.QPushButton(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.pushButton_show_trade_flow.sizePolicy().hasHeightForWidth()) self.pushButton_show_trade_flow.setSizePolicy(sizePolicy) self.pushButton_show_trade_flow.setObjectName("pushButton_show_trade_flow") self.horizontalLayout_2.addWidget(self.pushButton_show_trade_flow) self.pushButton_show_money_flow = QtWidgets.QPushButton(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.pushButton_show_money_flow.sizePolicy().hasHeightForWidth()) self.pushButton_show_money_flow.setSizePolicy(sizePolicy) self.pushButton_show_money_flow.setObjectName("pushButton_show_money_flow") self.horizontalLayout_2.addWidget(self.pushButton_show_money_flow) self.pushButton_hide_output = QtWidgets.QPushButton(self.scrollAreaWidgetContents) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.pushButton_hide_output.sizePolicy().hasHeightForWidth()) self.pushButton_hide_output.setSizePolicy(sizePolicy) self.pushButton_hide_output.setCheckable(True) self.pushButton_hide_output.setChecked(True) self.pushButton_hide_output.setObjectName("pushButton_hide_output") self.horizontalLayout_2.addWidget(self.pushButton_hide_output) self.verticalLayout.addLayout(self.horizontalLayout_2) self.tableWidget = QtWidgets.QTableWidget(self.scrollAreaWidgetContents) self.tableWidget.setMinimumSize(QtCore.QSize(0, 210)) self.tableWidget.setObjectName("tableWidget") self.tableWidget.setColumnCount(0) self.tableWidget.setRowCount(0) self.verticalLayout.addWidget(self.tableWidget) self.matplotlibwidget_static = MatplotlibWidget(self.scrollAreaWidgetContents) self.matplotlibwidget_static.setMinimumSize(QtCore.QSize(0, 700)) self.matplotlibwidget_static.setObjectName("matplotlibwidget_static") self.verticalLayout.addWidget(self.matplotlibwidget_static) self.verticalLayout_2.addLayout(self.verticalLayout) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.verticalLayout_3.addWidget(self.scrollArea) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23)) 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_hide_output.clicked['bool'].connect(self.tableWidget.setVisible) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def __init__(self, dataTable=None): MatplotlibWidget.__init__(self) if dataTable is not None: self.setDataTable(dataTable) else: self.dataTable = None
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1306, 574) MainWindow.setMinimumSize(QtCore.QSize(10, 10)) MainWindow.setToolTip("") MainWindow.setStatusTip("") self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.layoutWidget = QtWidgets.QWidget(self.centralwidget) self.layoutWidget.setGeometry(QtCore.QRect(0, 0, 1301, 523)) self.layoutWidget.setObjectName("layoutWidget") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.layoutWidget) self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.verticalLayout_3 = QtWidgets.QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") self.label_pro = QtWidgets.QLabel(self.layoutWidget) self.label_pro.setMinimumSize(QtCore.QSize(100, 22)) self.label_pro.setMaximumSize(QtCore.QSize(16777215, 23)) self.label_pro.setObjectName("label_pro") self.verticalLayout_3.addWidget(self.label_pro) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.Label_sat = QtWidgets.QLabel(self.layoutWidget) self.Label_sat.setMinimumSize(QtCore.QSize(0, 16)) self.Label_sat.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.Label_sat.setObjectName("Label_sat") self.gridLayout.addWidget(self.Label_sat, 1, 0, 1, 1) self.Label_sha = QtWidgets.QLabel(self.layoutWidget) self.Label_sha.setMinimumSize(QtCore.QSize(0, 16)) self.Label_sha.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.Label_sha.setObjectName("Label_sha") self.gridLayout.addWidget(self.Label_sha, 2, 0, 1, 1) self.Label_gaiV = QtWidgets.QLabel(self.layoutWidget) self.Label_gaiV.setObjectName("Label_gaiV") self.gridLayout.addWidget(self.Label_gaiV, 2, 3, 1, 1) self.Label_gamV = QtWidgets.QLabel(self.layoutWidget) self.Label_gamV.setObjectName("Label_gamV") self.gridLayout.addWidget(self.Label_gamV, 3, 1, 1, 1) self.Label_FPSV = QtWidgets.QLabel(self.layoutWidget) self.Label_FPSV.setObjectName("Label_FPSV") self.gridLayout.addWidget(self.Label_FPSV, 3, 3, 1, 1) self.Label_con = QtWidgets.QLabel(self.layoutWidget) self.Label_con.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.Label_con.setObjectName("Label_con") self.gridLayout.addWidget(self.Label_con, 0, 2, 1, 1) self.Label_shaV = QtWidgets.QLabel(self.layoutWidget) self.Label_shaV.setObjectName("Label_shaV") self.gridLayout.addWidget(self.Label_shaV, 2, 1, 1, 1) self.Label_gai = QtWidgets.QLabel(self.layoutWidget) self.Label_gai.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.Label_gai.setObjectName("Label_gai") self.gridLayout.addWidget(self.Label_gai, 2, 2, 1, 1) self.Label_hueV = QtWidgets.QLabel(self.layoutWidget) self.Label_hueV.setObjectName("Label_hueV") self.gridLayout.addWidget(self.Label_hueV, 1, 3, 1, 1) self.Label_gam = QtWidgets.QLabel(self.layoutWidget) self.Label_gam.setMinimumSize(QtCore.QSize(0, 16)) self.Label_gam.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.Label_gam.setObjectName("Label_gam") self.gridLayout.addWidget(self.Label_gam, 3, 0, 1, 1) self.Label_FPS = QtWidgets.QLabel(self.layoutWidget) self.Label_FPS.setMinimumSize(QtCore.QSize(0, 16)) self.Label_FPS.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.Label_FPS.setObjectName("Label_FPS") self.gridLayout.addWidget(self.Label_FPS, 3, 2, 1, 1) self.Label_briV = QtWidgets.QLabel(self.layoutWidget) self.Label_briV.setObjectName("Label_briV") self.gridLayout.addWidget(self.Label_briV, 0, 1, 1, 1) self.Label_bri = QtWidgets.QLabel(self.layoutWidget) self.Label_bri.setMinimumSize(QtCore.QSize(0, 16)) self.Label_bri.setLayoutDirection(QtCore.Qt.LeftToRight) self.Label_bri.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.Label_bri.setObjectName("Label_bri") self.gridLayout.addWidget(self.Label_bri, 0, 0, 1, 1) self.Label_conV = QtWidgets.QLabel(self.layoutWidget) self.Label_conV.setObjectName("Label_conV") self.gridLayout.addWidget(self.Label_conV, 0, 3, 1, 1) self.Label_satV = QtWidgets.QLabel(self.layoutWidget) self.Label_satV.setObjectName("Label_satV") self.gridLayout.addWidget(self.Label_satV, 1, 1, 1, 1) self.Label_hue = QtWidgets.QLabel(self.layoutWidget) self.Label_hue.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.Label_hue.setObjectName("Label_hue") self.gridLayout.addWidget(self.Label_hue, 1, 2, 1, 1) self.verticalLayout_3.addLayout(self.gridLayout) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label_hist = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_hist.sizePolicy().hasHeightForWidth()) self.label_hist.setSizePolicy(sizePolicy) self.label_hist.setMinimumSize(QtCore.QSize(100, 20)) self.label_hist.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_hist.setObjectName("label_hist") self.horizontalLayout_2.addWidget(self.label_hist) spacerItem = QtWidgets.QSpacerItem(138, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem) self.ButtonSet = QtWidgets.QPushButton(self.layoutWidget) self.ButtonSet.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.ButtonSet.setObjectName("ButtonSet") self.horizontalLayout_2.addWidget(self.ButtonSet) self.verticalLayout_3.addLayout(self.horizontalLayout_2) self.histWidget = MatplotlibWidget(self.layoutWidget) self.histWidget.setMinimumSize(QtCore.QSize(378, 370)) self.histWidget.setObjectName("histWidget") self.verticalLayout_3.addWidget(self.histWidget) self.horizontalLayout_4.addLayout(self.verticalLayout_3) self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.label_cam = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_cam.sizePolicy().hasHeightForWidth()) self.label_cam.setSizePolicy(sizePolicy) self.label_cam.setMinimumSize(QtCore.QSize(100, 24)) self.label_cam.setObjectName("label_cam") self.verticalLayout.addWidget(self.label_cam) self.imagelabel = QtWidgets.QLabel(self.layoutWidget) self.imagelabel.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.imagelabel.sizePolicy().hasHeightForWidth()) self.imagelabel.setSizePolicy(sizePolicy) self.imagelabel.setMinimumSize(QtCore.QSize(600, 450)) self.imagelabel.setMaximumSize(QtCore.QSize(600, 450)) self.imagelabel.setText("") self.imagelabel.setPixmap(QtGui.QPixmap("source/nonentity.png")) self.imagelabel.setScaledContents(True) self.imagelabel.setAlignment(QtCore.Qt.AlignCenter) self.imagelabel.setObjectName("imagelabel") self.verticalLayout.addWidget(self.imagelabel) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.buttonChoose = QtWidgets.QPushButton(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonChoose.sizePolicy().hasHeightForWidth()) self.buttonChoose.setSizePolicy(sizePolicy) self.buttonChoose.setMinimumSize(QtCore.QSize(80, 23)) self.buttonChoose.setMaximumSize(QtCore.QSize(1888, 223445)) self.buttonChoose.setCursor(QtGui.QCursor( QtCore.Qt.PointingHandCursor)) self.buttonChoose.setLayoutDirection(QtCore.Qt.RightToLeft) self.buttonChoose.setObjectName("buttonChoose") self.horizontalLayout_3.addWidget(self.buttonChoose) spacerItem1 = QtWidgets.QSpacerItem(388, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem1) self.ButtonStop = QtWidgets.QPushButton(self.layoutWidget) self.ButtonStop.setMinimumSize(QtCore.QSize(60, 26)) self.ButtonStop.setMaximumSize(QtCore.QSize(50, 16777215)) self.ButtonStop.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.ButtonStop.setCheckable(True) self.ButtonStop.setObjectName("ButtonStop") self.horizontalLayout_3.addWidget(self.ButtonStop) self.buttonvideo = QtWidgets.QPushButton(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonvideo.sizePolicy().hasHeightForWidth()) self.buttonvideo.setSizePolicy(sizePolicy) self.buttonvideo.setMinimumSize(QtCore.QSize(60, 23)) self.buttonvideo.setMaximumSize(QtCore.QSize(60, 30)) self.buttonvideo.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.buttonvideo.setLayoutDirection(QtCore.Qt.RightToLeft) self.buttonvideo.setCheckable(True) self.buttonvideo.setChecked(False) self.buttonvideo.setObjectName("buttonvideo") self.horizontalLayout_3.addWidget(self.buttonvideo) self.buttoncamera = QtWidgets.QPushButton(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttoncamera.sizePolicy().hasHeightForWidth()) self.buttoncamera.setSizePolicy(sizePolicy) self.buttoncamera.setMinimumSize(QtCore.QSize(60, 23)) self.buttoncamera.setMaximumSize(QtCore.QSize(60, 30)) self.buttoncamera.setCursor(QtGui.QCursor( QtCore.Qt.PointingHandCursor)) self.buttoncamera.setLayoutDirection(QtCore.Qt.RightToLeft) self.buttoncamera.setObjectName("buttoncamera") self.horizontalLayout_3.addWidget(self.buttoncamera) self.verticalLayout.addLayout(self.horizontalLayout_3) self.horizontalLayout_4.addLayout(self.verticalLayout) self.verticalLayout_2 = QtWidgets.QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") self.label_gray = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(100) sizePolicy.setVerticalStretch(24) sizePolicy.setHeightForWidth( self.label_gray.sizePolicy().hasHeightForWidth()) self.label_gray.setSizePolicy(sizePolicy) self.label_gray.setMinimumSize(QtCore.QSize(100, 22)) self.label_gray.setMaximumSize(QtCore.QSize(16777215, 22)) self.label_gray.setObjectName("label_gray") self.verticalLayout_2.addWidget(self.label_gray) self.imageLabel_gray = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.imageLabel_gray.sizePolicy().hasHeightForWidth()) self.imageLabel_gray.setSizePolicy(sizePolicy) self.imageLabel_gray.setMinimumSize(QtCore.QSize(300, 225)) self.imageLabel_gray.setMaximumSize(QtCore.QSize(300, 225)) self.imageLabel_gray.setText("") self.imageLabel_gray.setPixmap(QtGui.QPixmap("source/nonentity.png")) self.imageLabel_gray.setScaledContents(True) self.imageLabel_gray.setAlignment(QtCore.Qt.AlignCenter) self.imageLabel_gray.setObjectName("imageLabel_gray") self.verticalLayout_2.addWidget(self.imageLabel_gray) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.cannyLabel = QtWidgets.QLabel(self.layoutWidget) self.cannyLabel.setMinimumSize(QtCore.QSize(100, 22)) self.cannyLabel.setMaximumSize(QtCore.QSize(16777215, 22)) self.cannyLabel.setObjectName("cannyLabel") self.horizontalLayout.addWidget(self.cannyLabel) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem2) self.lowThresholdLabel = QtWidgets.QLabel(self.layoutWidget) self.lowThresholdLabel.setObjectName("lowThresholdLabel") self.horizontalLayout.addWidget(self.lowThresholdLabel) self.Threshold1 = QtWidgets.QSpinBox(self.layoutWidget) self.Threshold1.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.Threshold1.setMaximum(500) self.Threshold1.setProperty("value", 20) self.Threshold1.setObjectName("Threshold1") self.horizontalLayout.addWidget(self.Threshold1) self.highThresholdLabel = QtWidgets.QLabel(self.layoutWidget) self.highThresholdLabel.setObjectName("highThresholdLabel") self.horizontalLayout.addWidget(self.highThresholdLabel) self.Threshold2 = QtWidgets.QSpinBox(self.layoutWidget) self.Threshold2.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.Threshold2.setMaximum(1000) self.Threshold2.setProperty("value", 50) self.Threshold2.setObjectName("Threshold2") self.horizontalLayout.addWidget(self.Threshold2) self.verticalLayout_2.addLayout(self.horizontalLayout) self.imageLabel_edge = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.imageLabel_edge.sizePolicy().hasHeightForWidth()) self.imageLabel_edge.setSizePolicy(sizePolicy) self.imageLabel_edge.setMinimumSize(QtCore.QSize(300, 225)) self.imageLabel_edge.setMaximumSize(QtCore.QSize(300, 225)) self.imageLabel_edge.setText("") self.imageLabel_edge.setPixmap(QtGui.QPixmap("source/nonentity.png")) self.imageLabel_edge.setScaledContents(True) self.imageLabel_edge.setAlignment(QtCore.Qt.AlignCenter) self.imageLabel_edge.setObjectName("imageLabel_edge") self.verticalLayout_2.addWidget(self.imageLabel_edge) self.horizontalLayout_4.addLayout(self.verticalLayout_2) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1306, 23)) self.menubar.setObjectName("menubar") self.SettingMenu = QtWidgets.QMenu(self.menubar) self.SettingMenu.setObjectName("SettingMenu") self.HelpMenu = QtWidgets.QMenu(self.menubar) self.HelpMenu.setObjectName("HelpMenu") self.menu = QtWidgets.QMenu(self.menubar) self.menu.setObjectName("menu") MainWindow.setMenuBar(self.menubar) self.status = QtWidgets.QStatusBar(MainWindow) self.status.setObjectName("status") MainWindow.setStatusBar(self.status) self.setPropertyAction = QtWidgets.QAction(MainWindow) self.setPropertyAction.setObjectName("setPropertyAction") self.DefaultAction = QtWidgets.QAction(MainWindow) self.DefaultAction.setObjectName("DefaultAction") self.AboutAction = QtWidgets.QAction(MainWindow) self.AboutAction.setObjectName("AboutAction") self.HelpAction = QtWidgets.QAction(MainWindow) self.HelpAction.setObjectName("HelpAction") self.ChooseCameraAction = QtWidgets.QAction(MainWindow) self.ChooseCameraAction.setObjectName("ChooseCameraAction") self.SaveSetAction = QtWidgets.QAction(MainWindow) self.SaveSetAction.setObjectName("SaveSetAction") self.FaceDetection = QtWidgets.QAction(MainWindow) self.FaceDetection.setCheckable(True) self.FaceDetection.setChecked(False) self.FaceDetection.setEnabled(True) self.FaceDetection.setObjectName("FaceDetection") self.FaceRecognition = QtWidgets.QAction(MainWindow) self.FaceRecognition.setCheckable(True) self.FaceRecognition.setObjectName("FaceRecognition") self.FaceCapture = QtWidgets.QAction(MainWindow) self.FaceCapture.setCheckable(True) self.FaceCapture.setObjectName("FaceCapture") self.ModelTraining = QtWidgets.QAction(MainWindow) self.ModelTraining.setObjectName("ModelTraining") self.ModelTraining.setEnabled(False) self.SettingMenu.addAction(self.ChooseCameraAction) self.SettingMenu.addAction(self.setPropertyAction) self.SettingMenu.addAction(self.SaveSetAction) self.SettingMenu.addSeparator() self.SettingMenu.addAction(self.DefaultAction) self.HelpMenu.addAction(self.AboutAction) self.HelpMenu.addAction(self.HelpAction) self.menu.addAction(self.FaceDetection) self.menu.addAction(self.FaceRecognition) self.menu.addSeparator() self.menu.addAction(self.FaceCapture) self.menu.addAction(self.ModelTraining) self.menubar.addAction(self.SettingMenu.menuAction()) self.menubar.addAction(self.menu.menuAction()) self.menubar.addAction(self.HelpMenu.menuAction()) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def __init__(self): QtGui.QWidget.__init__(self) layout = QtGui.QVBoxLayout() self.setLayout(layout) widget = MatplotlibWidget(title='APS Storage Ring 24-hour History', xlabel='time before now, ht', ylabel='', hold=True, showgrid=True, #xticks=[-24,-18,-6,0], yticks=[0,25,50,75,100], ) layout.addWidget(widget) epoch, time_data, current_data = getTestData() widget.addPlot(time_data, current_data, 'r-', label='history') widget.addPlot([-5, -2], [1,20], 'bo-', label='2 points') widget.axes.legend() ''' MatPlotLib mouse events http://matplotlib.org/users/event_handling.html example handling: >>> print event MPL MouseEvent: xy=(492,105) xydata=(-4.23387096774,25.71875) button=1 dblclick=False inaxes=Axes(0.125,0.1;0.775x0.363636) ''' self.default_color = dict(figure=None, axes=None) widget.mpl_connect('button_press_event', self.on_button_press) widget.mpl_connect('button_release_event', self.on_button_release) widget.mpl_connect('figure_enter_event', self.on_figure_enter) widget.mpl_connect('figure_leave_event', self.on_figure_leave) widget.mpl_connect('axes_enter_event', self.on_axes_enter) widget.mpl_connect('axes_leave_event', self.on_axes_leave)
def setupUi(self, MainWindow): MainWindow.setObjectName(_fromUtf8("MainWindow")) MainWindow.resize(877, 610) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) MainWindow.setMinimumSize(QtCore.QSize(877, 610)) MainWindow.setMaximumSize(QtCore.QSize(877, 610)) font = QtGui.QFont() font.setPointSize(12) MainWindow.setFont(font) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(_fromUtf8("../.designer/backup/icon.ico")), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) MainWindow.setAutoFillBackground(False) MainWindow.setDocumentMode(False) MainWindow.setTabShape(QtGui.QTabWidget.Rounded) MainWindow.setDockOptions(QtGui.QMainWindow.AllowTabbedDocks|QtGui.QMainWindow.AnimatedDocks) MainWindow.setUnifiedTitleAndToolBarOnMac(False) self.centralwidget = QtGui.QWidget(MainWindow) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth()) self.centralwidget.setSizePolicy(sizePolicy) self.centralwidget.setMinimumSize(QtCore.QSize(0, 0)) self.centralwidget.setMaximumSize(QtCore.QSize(877, 610)) self.centralwidget.setObjectName(_fromUtf8("centralwidget")) self.horizontalLayoutWidget = QtGui.QWidget(self.centralwidget) self.horizontalLayoutWidget.setGeometry(QtCore.QRect(0, 0, 877, 610)) self.horizontalLayoutWidget.setObjectName(_fromUtf8("horizontalLayoutWidget")) self.h1 = QtGui.QHBoxLayout(self.horizontalLayoutWidget) self.h1.setMargin(5) self.h1.setSpacing(5) self.h1.setObjectName(_fromUtf8("h1")) self.v1 = QtGui.QVBoxLayout() self.v1.setMargin(5) self.v1.setSpacing(5) self.v1.setObjectName(_fromUtf8("v1")) self.lbl_mcstas = QtGui.QLabel(self.horizontalLayoutWidget) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lbl_mcstas.sizePolicy().hasHeightForWidth()) self.lbl_mcstas.setSizePolicy(sizePolicy) self.lbl_mcstas.setMaximumSize(QtCore.QSize(16777215, 30)) self.lbl_mcstas.setFrameShadow(QtGui.QFrame.Raised) self.lbl_mcstas.setAlignment(QtCore.Qt.AlignCenter) self.lbl_mcstas.setObjectName(_fromUtf8("lbl_mcstas")) self.v1.addWidget(self.lbl_mcstas) self.btn_mcstas = QtGui.QPushButton(self.horizontalLayoutWidget) self.btn_mcstas.setObjectName(_fromUtf8("btn_mcstas")) self.v1.addWidget(self.btn_mcstas) self.line_2 = QtGui.QFrame(self.horizontalLayoutWidget) self.line_2.setFrameShape(QtGui.QFrame.HLine) self.line_2.setFrameShadow(QtGui.QFrame.Sunken) self.line_2.setObjectName(_fromUtf8("line_2")) self.v1.addWidget(self.line_2) self.v2 = QtGui.QVBoxLayout() self.v2.setMargin(5) self.v2.setSpacing(5) self.v2.setObjectName(_fromUtf8("v2")) self.lbl_instr = QtGui.QLabel(self.horizontalLayoutWidget) self.lbl_instr.setEnabled(False) self.lbl_instr.setMaximumSize(QtCore.QSize(16777215, 30)) self.lbl_instr.setAlignment(QtCore.Qt.AlignCenter) self.lbl_instr.setObjectName(_fromUtf8("lbl_instr")) self.v2.addWidget(self.lbl_instr) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setMargin(5) self.horizontalLayout.setSpacing(5) self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.rdb_cust = QtGui.QRadioButton(self.horizontalLayoutWidget) self.rdb_cust.setEnabled(False) self.rdb_cust.setAutoExclusive(False) self.rdb_cust.setObjectName(_fromUtf8("rdb_cust")) self.horizontalLayout.addWidget(self.rdb_cust) self.rdb_def = QtGui.QRadioButton(self.horizontalLayoutWidget) self.rdb_def.setEnabled(False) self.rdb_def.setAutoExclusive(False) self.rdb_def.setObjectName(_fromUtf8("rdb_def")) self.horizontalLayout.addWidget(self.rdb_def) self.v2.addLayout(self.horizontalLayout) self.line_4 = QtGui.QFrame(self.horizontalLayoutWidget) self.line_4.setFrameShape(QtGui.QFrame.HLine) self.line_4.setFrameShadow(QtGui.QFrame.Sunken) self.line_4.setObjectName(_fromUtf8("line_4")) self.v2.addWidget(self.line_4) self.lbl_data = QtGui.QLabel(self.horizontalLayoutWidget) self.lbl_data.setEnabled(False) self.lbl_data.setMaximumSize(QtCore.QSize(16777215, 30)) self.lbl_data.setAlignment(QtCore.Qt.AlignCenter) self.lbl_data.setObjectName(_fromUtf8("lbl_data")) self.v2.addWidget(self.lbl_data) self.formLayout = QtGui.QFormLayout() self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout.setLabelAlignment(QtCore.Qt.AlignCenter) self.formLayout.setFormAlignment(QtCore.Qt.AlignCenter) self.formLayout.setMargin(5) self.formLayout.setSpacing(5) self.formLayout.setObjectName(_fromUtf8("formLayout")) self.lbl_angle = QtGui.QLabel(self.horizontalLayoutWidget) self.lbl_angle.setEnabled(False) self.lbl_angle.setObjectName(_fromUtf8("lbl_angle")) self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.lbl_angle) self.box_angle = QtGui.QDoubleSpinBox(self.horizontalLayoutWidget) self.box_angle.setEnabled(False) self.box_angle.setWrapping(False) self.box_angle.setFrame(True) self.box_angle.setAlignment(QtCore.Qt.AlignCenter) self.box_angle.setButtonSymbols(QtGui.QAbstractSpinBox.PlusMinus) self.box_angle.setCorrectionMode(QtGui.QAbstractSpinBox.CorrectToNearestValue) self.box_angle.setDecimals(2) self.box_angle.setMinimum(0.01) self.box_angle.setMaximum(179.99) self.box_angle.setSingleStep(0.1) self.box_angle.setProperty("value", 1.2) self.box_angle.setObjectName(_fromUtf8("box_angle")) self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.box_angle) self.lbl_penumbra = QtGui.QLabel(self.horizontalLayoutWidget) self.lbl_penumbra.setEnabled(False) self.lbl_penumbra.setObjectName(_fromUtf8("lbl_penumbra")) self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.lbl_penumbra) self.box_penumbra = QtGui.QDoubleSpinBox(self.horizontalLayoutWidget) self.box_penumbra.setEnabled(False) self.box_penumbra.setWrapping(False) self.box_penumbra.setFrame(True) self.box_penumbra.setAlignment(QtCore.Qt.AlignCenter) self.box_penumbra.setButtonSymbols(QtGui.QAbstractSpinBox.PlusMinus) self.box_penumbra.setCorrectionMode(QtGui.QAbstractSpinBox.CorrectToNearestValue) self.box_penumbra.setDecimals(1) self.box_penumbra.setMaximum(999.0) self.box_penumbra.setSingleStep(10.0) self.box_penumbra.setProperty("value", 80.0) self.box_penumbra.setObjectName(_fromUtf8("box_penumbra")) self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.box_penumbra) self.lbl_steps = QtGui.QLabel(self.horizontalLayoutWidget) self.lbl_steps.setEnabled(False) self.lbl_steps.setObjectName(_fromUtf8("lbl_steps")) self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.lbl_steps) self.box_steps = QtGui.QDoubleSpinBox(self.horizontalLayoutWidget) self.box_steps.setEnabled(False) self.box_steps.setWrapping(False) self.box_steps.setFrame(True) self.box_steps.setAlignment(QtCore.Qt.AlignCenter) self.box_steps.setButtonSymbols(QtGui.QAbstractSpinBox.PlusMinus) self.box_steps.setCorrectionMode(QtGui.QAbstractSpinBox.CorrectToNearestValue) self.box_steps.setDecimals(0) self.box_steps.setMinimum(5.0) self.box_steps.setMaximum(100.0) self.box_steps.setSingleStep(5.0) self.box_steps.setProperty("value", 50.0) self.box_steps.setProperty("showGroupSeparator", False) self.box_steps.setObjectName(_fromUtf8("box_steps")) self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.box_steps) self.lbl_neutrons = QtGui.QLabel(self.horizontalLayoutWidget) self.lbl_neutrons.setEnabled(False) self.lbl_neutrons.setObjectName(_fromUtf8("lbl_neutrons")) self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.lbl_neutrons) self.box_neutrons = QtGui.QDoubleSpinBox(self.horizontalLayoutWidget) self.box_neutrons.setEnabled(False) self.box_neutrons.setWrapping(False) self.box_neutrons.setFrame(True) self.box_neutrons.setAlignment(QtCore.Qt.AlignCenter) self.box_neutrons.setButtonSymbols(QtGui.QAbstractSpinBox.PlusMinus) self.box_neutrons.setCorrectionMode(QtGui.QAbstractSpinBox.CorrectToNearestValue) self.box_neutrons.setDecimals(0) self.box_neutrons.setMinimum(100000.0) self.box_neutrons.setMaximum(100000000.0) self.box_neutrons.setSingleStep(100000.0) self.box_neutrons.setProperty("value", 1000000.0) self.box_neutrons.setObjectName(_fromUtf8("box_neutrons")) self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.box_neutrons) self.v2.addLayout(self.formLayout) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setMargin(5) self.horizontalLayout_2.setSpacing(5) self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) self.btn_gendata = QtGui.QPushButton(self.horizontalLayoutWidget) self.btn_gendata.setEnabled(False) self.btn_gendata.setObjectName(_fromUtf8("btn_gendata")) self.horizontalLayout_2.addWidget(self.btn_gendata) self.txt_description_2 = QtGui.QLineEdit(self.horizontalLayoutWidget) self.txt_description_2.setEnabled(False) self.txt_description_2.setObjectName(_fromUtf8("txt_description_2")) self.horizontalLayout_2.addWidget(self.txt_description_2) self.v2.addLayout(self.horizontalLayout_2) self.line_3 = QtGui.QFrame(self.horizontalLayoutWidget) self.line_3.setFrameShape(QtGui.QFrame.HLine) self.line_3.setFrameShadow(QtGui.QFrame.Sunken) self.line_3.setObjectName(_fromUtf8("line_3")) self.v2.addWidget(self.line_3) self.lbl_plot = QtGui.QLabel(self.horizontalLayoutWidget) self.lbl_plot.setEnabled(False) self.lbl_plot.setMaximumSize(QtCore.QSize(16777215, 30)) self.lbl_plot.setAlignment(QtCore.Qt.AlignCenter) self.lbl_plot.setObjectName(_fromUtf8("lbl_plot")) self.v2.addWidget(self.lbl_plot) self.btn_data = QtGui.QPushButton(self.horizontalLayoutWidget) self.btn_data.setEnabled(False) self.btn_data.setObjectName(_fromUtf8("btn_data")) self.v2.addWidget(self.btn_data) self.lbl_dataset = QtGui.QLabel(self.horizontalLayoutWidget) self.lbl_dataset.setEnabled(False) self.lbl_dataset.setMaximumSize(QtCore.QSize(16777215, 30)) self.lbl_dataset.setTextFormat(QtCore.Qt.AutoText) self.lbl_dataset.setAlignment(QtCore.Qt.AlignCenter) self.lbl_dataset.setObjectName(_fromUtf8("lbl_dataset")) self.v2.addWidget(self.lbl_dataset) self.gridLayout_2 = QtGui.QGridLayout() self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) self.btn_plot = QtGui.QPushButton(self.horizontalLayoutWidget) self.btn_plot.setEnabled(False) self.btn_plot.setObjectName(_fromUtf8("btn_plot")) self.gridLayout_2.addWidget(self.btn_plot, 1, 0, 1, 1) self.btn_plot_2 = QtGui.QPushButton(self.horizontalLayoutWidget) self.btn_plot_2.setEnabled(False) self.btn_plot_2.setObjectName(_fromUtf8("btn_plot_2")) self.gridLayout_2.addWidget(self.btn_plot_2, 1, 1, 1, 1) self.txt_description = QtGui.QLineEdit(self.horizontalLayoutWidget) self.txt_description.setEnabled(False) self.txt_description.setObjectName(_fromUtf8("txt_description")) self.gridLayout_2.addWidget(self.txt_description, 0, 1, 1, 1) self.lbl_description = QtGui.QLabel(self.horizontalLayoutWidget) self.lbl_description.setEnabled(False) self.lbl_description.setObjectName(_fromUtf8("lbl_description")) self.gridLayout_2.addWidget(self.lbl_description, 0, 0, 1, 1) self.v2.addLayout(self.gridLayout_2) self.v1.addLayout(self.v2) self.h1.addLayout(self.v1) self.line = QtGui.QFrame(self.horizontalLayoutWidget) self.line.setFrameShadow(QtGui.QFrame.Sunken) self.line.setFrameShape(QtGui.QFrame.VLine) self.line.setObjectName(_fromUtf8("line")) self.h1.addWidget(self.line) self.plt_widget = MatplotlibWidget(self.horizontalLayoutWidget) self.plt_widget.setEnabled(False) self.plt_widget.setMinimumSize(QtCore.QSize(590, 590)) self.plt_widget.setMaximumSize(QtCore.QSize(590, 590)) self.plt_widget.setObjectName(_fromUtf8("plt_widget")) self.h1.addWidget(self.plt_widget) MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)
class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(903, 678) self.gridLayout = QtWidgets.QGridLayout(Form) self.gridLayout.setObjectName("gridLayout") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setObjectName("pushButton_2") self.gridLayout.addWidget(self.pushButton_2, 0, 0, 1, 1) self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.widget = MatplotlibWidget(Form) self.widget.setMinimumSize(QtCore.QSize(200, 200)) self.widget.setObjectName("widget") self.verticalLayout.addWidget(self.widget) self.widget_2 = MatplotlibWidget(Form) self.widget_2.setMinimumSize(QtCore.QSize(200, 200)) self.widget_2.setObjectName("widget_2") self.verticalLayout.addWidget(self.widget_2) self.gridLayout.addLayout(self.verticalLayout, 0, 1, 3, 1) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setObjectName("pushButton") self.gridLayout.addWidget(self.pushButton, 1, 0, 1, 1) self.quit_btn = QtWidgets.QPushButton(Form) self.quit_btn.setObjectName("quit_btn") self.gridLayout.addWidget(self.quit_btn, 2, 0, 1, 1) self.widget.raise_() self.widget_2.raise_() self.widget_2.raise_() self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.pushButton_2.setText(_translate("Form", "静态绘图")) self.pushButton.setText(_translate("Form", "动态绘图")) self.quit_btn.setText(_translate("Form", "退出"))
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(718, 650) MainWindow.setAutoFillBackground(False) MainWindow.setStyleSheet( "QWidget#canshu{border: 2px solid rgba(0,0,0,0.5);\n" "border-radius: 10px;}") self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.canshu = QtWidgets.QWidget(self.centralwidget) self.canshu.setGeometry(QtCore.QRect(10, 20, 691, 171)) self.canshu.setAutoFillBackground(False) self.canshu.setStyleSheet( "QWidget#canshu{border: 2px solid rgba(0,0,0,0.5); \n" "border-radius: 10px;}") self.canshu.setObjectName("canshu") self.gridLayout = QtWidgets.QGridLayout(self.canshu) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.pondA_layout = QtWidgets.QGridLayout() self.pondA_layout.setObjectName("pondA_layout") self.label_2 = QtWidgets.QLabel(self.canshu) self.label_2.setMinimumSize(QtCore.QSize(100, 20)) self.label_2.setMaximumSize(QtCore.QSize(100, 30)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(12) self.label_2.setFont(font) self.label_2.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_2.setObjectName("label_2") self.pondA_layout.addWidget(self.label_2, 0, 0, 1, 1) self.label_3 = QtWidgets.QLabel(self.canshu) self.label_3.setMinimumSize(QtCore.QSize(10, 10)) self.label_3.setMaximumSize(QtCore.QSize(100, 20)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(10) self.label_3.setFont(font) self.label_3.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_3.setObjectName("label_3") self.pondA_layout.addWidget(self.label_3, 1, 0, 1, 1) self.pump_rate_A = QtWidgets.QLineEdit(self.canshu) self.pump_rate_A.setMinimumSize(QtCore.QSize(100, 20)) self.pump_rate_A.setMaximumSize(QtCore.QSize(200, 40)) self.pump_rate_A.setInputMethodHints(QtCore.Qt.ImhDigitsOnly) self.pump_rate_A.setObjectName("pump_rate_A") self.pondA_layout.addWidget(self.pump_rate_A, 1, 1, 1, 1) self.label_4 = QtWidgets.QLabel(self.canshu) self.label_4.setMaximumSize(QtCore.QSize(100, 20)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(10) self.label_4.setFont(font) self.label_4.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_4.setObjectName("label_4") self.pondA_layout.addWidget(self.label_4, 2, 0, 1, 1) self.maxvolume_A = QtWidgets.QLineEdit(self.canshu) self.maxvolume_A.setMinimumSize(QtCore.QSize(100, 20)) self.maxvolume_A.setMaximumSize(QtCore.QSize(200, 16777215)) self.maxvolume_A.setInputMethodHints(QtCore.Qt.ImhDigitsOnly) self.maxvolume_A.setCursorMoveStyle(QtCore.Qt.LogicalMoveStyle) self.maxvolume_A.setObjectName("maxvolume_A") self.pondA_layout.addWidget(self.maxvolume_A, 2, 1, 1, 1) self.gridLayout.addLayout(self.pondA_layout, 1, 0, 1, 1) self.islinkcheackbox = QtWidgets.QCheckBox(self.canshu) self.islinkcheackbox.setObjectName("islinkcheackbox") self.gridLayout.addWidget(self.islinkcheackbox, 3, 0, 1, 1) self.simulatebtn = QtWidgets.QPushButton(self.canshu) self.simulatebtn.setMinimumSize(QtCore.QSize(80, 20)) self.simulatebtn.setMaximumSize(QtCore.QSize(100, 40)) self.simulatebtn.setLayoutDirection(QtCore.Qt.LeftToRight) self.simulatebtn.setCheckable(False) self.simulatebtn.setObjectName("simulatebtn") self.gridLayout.addWidget(self.simulatebtn, 3, 1, 1, 1) self.label = QtWidgets.QLabel(self.canshu) self.label.setMaximumSize(QtCore.QSize(100, 40)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label.setFont(font) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 0, 0, 1, 1) self.pondB_layout = QtWidgets.QGridLayout() self.pondB_layout.setObjectName("pondB_layout") self.label_5 = QtWidgets.QLabel(self.canshu) self.label_5.setMinimumSize(QtCore.QSize(100, 20)) self.label_5.setMaximumSize(QtCore.QSize(100, 30)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(12) self.label_5.setFont(font) self.label_5.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_5.setObjectName("label_5") self.pondB_layout.addWidget(self.label_5, 0, 0, 1, 1) self.label_6 = QtWidgets.QLabel(self.canshu) self.label_6.setMinimumSize(QtCore.QSize(10, 10)) self.label_6.setMaximumSize(QtCore.QSize(100, 20)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(10) self.label_6.setFont(font) self.label_6.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_6.setObjectName("label_6") self.pondB_layout.addWidget(self.label_6, 1, 0, 1, 1) self.pump_rate_B = QtWidgets.QLineEdit(self.canshu) self.pump_rate_B.setMinimumSize(QtCore.QSize(100, 20)) self.pump_rate_B.setMaximumSize(QtCore.QSize(200, 40)) self.pump_rate_B.setInputMethodHints(QtCore.Qt.ImhDigitsOnly) self.pump_rate_B.setObjectName("pump_rate_B") self.pondB_layout.addWidget(self.pump_rate_B, 1, 1, 1, 1) self.label_7 = QtWidgets.QLabel(self.canshu) self.label_7.setMaximumSize(QtCore.QSize(100, 20)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(10) self.label_7.setFont(font) self.label_7.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_7.setObjectName("label_7") self.pondB_layout.addWidget(self.label_7, 2, 0, 1, 1) self.maxvolume_B = QtWidgets.QLineEdit(self.canshu) self.maxvolume_B.setMinimumSize(QtCore.QSize(100, 20)) self.maxvolume_B.setMaximumSize(QtCore.QSize(200, 16777215)) self.maxvolume_B.setInputMethodHints(QtCore.Qt.ImhDigitsOnly) self.maxvolume_B.setObjectName("maxvolume_B") self.pondB_layout.addWidget(self.maxvolume_B, 2, 1, 1, 1) self.gridLayout.addLayout(self.pondB_layout, 1, 1, 1, 1) self.output_view = QtWidgets.QWidget(self.centralwidget) self.output_view.setGeometry(QtCore.QRect(10, 220, 691, 401)) self.output_view.setObjectName("output_view") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.output_view) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.label_8 = QtWidgets.QLabel(self.output_view) self.label_8.setMinimumSize(QtCore.QSize(100, 20)) self.label_8.setMaximumSize(QtCore.QSize(100, 40)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_8.setFont(font) self.label_8.setObjectName("label_8") self.verticalLayout_2.addWidget(self.label_8) self.stackedWidget = QtWidgets.QStackedWidget(self.output_view) self.stackedWidget.setObjectName("stackedWidget") self.page_welcome = QtWidgets.QWidget() self.page_welcome.setObjectName("page_welcome") self.widget = QtWidgets.QWidget(self.page_welcome) self.widget.setGeometry(QtCore.QRect(20, 20, 631, 311)) self.widget.setObjectName("widget") self.verticalLayout = QtWidgets.QVBoxLayout(self.widget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.label_9 = QtWidgets.QLabel(self.widget) self.label_9.setMinimumSize(QtCore.QSize(60, 20)) self.label_9.setMaximumSize(QtCore.QSize(100, 100)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(10) self.label_9.setFont(font) self.label_9.setObjectName("label_9") self.horizontalLayout.addWidget(self.label_9) self.run_progress_bar = QtWidgets.QProgressBar(self.widget) self.run_progress_bar.setMinimumSize(QtCore.QSize(200, 30)) self.run_progress_bar.setMaximumSize(QtCore.QSize(1000, 40)) self.run_progress_bar.setProperty("value", 24) self.run_progress_bar.setObjectName("run_progress_bar") self.horizontalLayout.addWidget(self.run_progress_bar) self.verticalLayout.addLayout(self.horizontalLayout) spacerItem = QtWidgets.QSpacerItem(40, 30, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.verticalLayout.addItem(spacerItem) self.plainTextEdit = QtWidgets.QPlainTextEdit(self.widget) self.plainTextEdit.setObjectName("plainTextEdit") self.verticalLayout.addWidget(self.plainTextEdit) self.stackedWidget.addWidget(self.page_welcome) self.page_result = QtWidgets.QWidget() self.page_result.setObjectName("page_result") self.draw_selection_box = QtWidgets.QComboBox(self.page_result) self.draw_selection_box.setGeometry(QtCore.QRect(21, 11, 150, 20)) self.draw_selection_box.setMinimumSize(QtCore.QSize(150, 20)) self.draw_selection_box.setMaximumSize(QtCore.QSize(250, 40)) self.draw_selection_box.setObjectName("draw_selection_box") self.draw_selection_box.addItem("") self.draw_selection_box.addItem("") self.draw_selection_box.addItem("") self.draw_selection_box.addItem("") self.draw_selection_box.addItem("") self.draw_widget = MatplotlibWidget(self.page_result) self.draw_widget.setGeometry(QtCore.QRect(20, 40, 651, 291)) self.draw_widget.setObjectName("draw_widget") self.stackedWidget.addWidget(self.page_result) self.page = QtWidgets.QWidget() self.page.setObjectName("page") self.draw_widget2 = MatplotlibWidget(self.page) self.draw_widget2.setGeometry(QtCore.QRect(10, 10, 661, 321)) self.draw_widget2.setObjectName("draw_widget2") self.stackedWidget.addWidget(self.page) self.verticalLayout_2.addWidget(self.stackedWidget) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.testbtn1 = QtWidgets.QPushButton(self.output_view) self.testbtn1.setObjectName("testbtn1") self.horizontalLayout_2.addWidget(self.testbtn1) self.testbtn2 = QtWidgets.QPushButton(self.output_view) self.testbtn2.setMinimumSize(QtCore.QSize(100, 20)) self.testbtn2.setObjectName("testbtn2") self.horizontalLayout_2.addWidget(self.testbtn2) self.testbtn3 = QtWidgets.QPushButton(self.output_view) self.testbtn3.setObjectName("testbtn3") self.horizontalLayout_2.addWidget(self.testbtn3) self.testbtn4 = QtWidgets.QPushButton(self.output_view) self.testbtn4.setMinimumSize(QtCore.QSize(120, 20)) self.testbtn4.setObjectName("testbtn4") self.horizontalLayout_2.addWidget(self.testbtn4) self.verticalLayout_2.addLayout(self.horizontalLayout_2) self.label.raise_() self.label_2.raise_() self.label_3.raise_() self.label_4.raise_() self.label_8.raise_() self.label_9.raise_() self.label.raise_() self.label_2.raise_() self.label_3.raise_() self.label_4.raise_() self.label_2.raise_() self.label_3.raise_() self.pump_rate_A.raise_() self.label_4.raise_() self.maxvolume_A.raise_() self.islinkcheackbox.raise_() self.simulatebtn.raise_() self.label_8.raise_() self.stackedWidget.raise_() self.testbtn1.raise_() self.testbtn2.raise_() self.testbtn3.raise_() self.testbtn4.raise_() self.output_view.raise_() MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) self.stackedWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow)
class MainWindow(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.loadIcons() self.setupUserInterface() self.setupSignals() self.__version__ = __version__ # Initialise variables self.imageFiles = {} self.timeData = None self.plotWin = None self.imageWin = None self.BMDchange = None self.roiNames = None def loadIcons(self): """ Load icons """ self.icons = dict([ ('BMDanalyseIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","logo.png"))), ('imageAddIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","file_add.png"))), ('imageRemIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","file_delete2.png"))), ('imageDownIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","arrow-up-2.png"))), ('imageUpIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","arrow-down-2.png"))), ('imagePrevIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","arrow-left.png"))), ('imageNextIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","arrow-right.png"))), ('roiAddIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","green-add3.png"))), ('roiRectIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","rectangularIcon.png"))), ('roiPolyIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","polygonIcon.png"))), ('roiRemIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","red_delete.png"))), ('roiSaveIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","filesave.png"))), ('roiCopyIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","file_copy.png"))), ('roiLoadIcon', QtGui.QIcon(os.path.join(absDirPath,"icons","opened-folder.png")))]) def setupUserInterface(self): """ Initialise the User Interface """ # Left frame leftFrame = QtGui.QFrame() leftFrameLayout = QtGui.QHBoxLayout() leftFrame.setLayout(leftFrameLayout) leftFrame.setLineWidth(0) leftFrame.setFrameStyle(QtGui.QFrame.Panel) leftFrameLayout.setContentsMargins(0,0,5,0) # Left frame contents self.viewMain = GraphicsLayoutWidget() # A GraphicsLayout within a GraphicsView leftFrameLayout.addWidget(self.viewMain) self.viewMain.setMinimumSize(200,200) self.vb = MultiRoiViewBox(lockAspect=True,enableMenu=True) self.viewMain.addItem(self.vb) self.vb.disableAutoRange() # Right frame self.sidePanel = SidePanel(self) # UI window (containing left and right frames) UIwindow = QtGui.QWidget(self) UIwindowLayout = QtGui.QHBoxLayout() UIwindowSplitter = QtGui.QSplitter(QtCore.Qt.Horizontal) UIwindowLayout.addWidget(UIwindowSplitter) UIwindow.setLayout(UIwindowLayout) self.setCentralWidget(UIwindow) UIwindowSplitter.addWidget(leftFrame) UIwindowSplitter.addWidget(self.sidePanel) # Application window self.setWindowTitle('BMDanalyse') self.setWindowIcon(self.icons['BMDanalyseIcon']) self.setMinimumSize(600,500) self.resize(self.minimumSize()) # Window menus self.createMenus() self.createActions() def createMenus(self): # Menus menubar = self.menuBar() self.fileMenu = menubar.addMenu('&File') self.imageMenu = menubar.addMenu('&Images') self.roiMenu = menubar.addMenu('&ROIs') self.submenu = self.roiMenu.addMenu(self.icons['roiAddIcon'],"Add ROI") self.analyseMenu = menubar.addMenu('&Analysis') self.aboutMenu = menubar.addMenu('A&bout') def createActions(self): # Actions for File menu self.exitAct = QtGui.QAction("&Quit", self, shortcut="Ctrl+Q",statusTip="Exit the application") self.exitAct.triggered[()].connect(self.close) self.fileMenu.addAction(self.exitAct) # Actions for Images menu self.loadImageAct = QtGui.QAction(self.icons['imageAddIcon'], "&Load image(s)", self, shortcut="Ctrl+L") self.removeImageAct = QtGui.QAction(self.icons['imageRemIcon'], "&Remove current image", self, shortcut="Ctrl+X") imageMenuActions = [self.loadImageAct,self.removeImageAct] imageMenuActFuncs = [self.loadImages,self.removeImage] for i in xrange(len(imageMenuActions)): action = imageMenuActions[i] function = imageMenuActFuncs[i] action.triggered[()].connect(function) self.imageMenu.addAction(self.loadImageAct) self.imageMenu.addAction(self.removeImageAct) # Actions for ROI menu self.addROIRectAct = QtGui.QAction("Rectangular",self.submenu) self.addROIPolyAct = QtGui.QAction("Polygon",self.submenu) self.addROIRectAct.triggered[()].connect(self.vb.addROI) self.addROIPolyAct.triggered[()].connect(self.vb.addPolyRoiRequest) self.submenu.addAction(self.addROIRectAct) self.submenu.addAction(self.addROIPolyAct) self.addROIRectAct.setIcon(self.icons['roiRectIcon']) self.addROIPolyAct.setIcon(self.icons['roiPolyIcon']) self.addROIRectAct.setShortcut("Ctrl+Shift+R") self.addROIPolyAct.setShortcut("Ctrl+Shift+P") self.loadRoiAct = QtGui.QAction(self.icons['roiLoadIcon'], "L&oad ROI", self, shortcut="Ctrl+O") self.copyRoiAct = QtGui.QAction(self.icons['roiCopyIcon'], "&Copy ROI", self, shortcut="Ctrl+C") self.saveRoiAct = QtGui.QAction(self.icons['roiSaveIcon'], "&Save ROI", self, shortcut="Ctrl+S") self.remRoiAct = QtGui.QAction(self.icons['roiRemIcon'] , "&Remove ROI", self, shortcut="Ctrl+D") roiMenuActions = [self.loadRoiAct,self.copyRoiAct,self.saveRoiAct,self.remRoiAct] roiMenuActFuncs = [self.vb.loadROI,self.vb.copyROI,self.vb.saveROI,self.vb.removeROI] for i in xrange(len(roiMenuActions)): action = roiMenuActions[i] function = roiMenuActFuncs[i] action.triggered[()].connect(function) self.roiMenu.addAction(action) # Actions for Analyse menu self.roiAnalysisAct = QtGui.QAction("&ROI analysis", self.viewMain, shortcut="Ctrl+R",triggered=self.getBMD) self.imgAnalysisAct = QtGui.QAction("&Image analysis", self.viewMain, shortcut="Ctrl+I",triggered=self.imageAnalysis) self.analyseMenu.addAction(self.roiAnalysisAct) self.analyseMenu.addAction(self.imgAnalysisAct) # Actions for self.aboutAct = QtGui.QAction("&About", self.viewMain, shortcut='F1', triggered=self.onAbout) self.aboutMenu.addAction(self.aboutAct) def setupSignals(self): """ Setup signals """ self.sidePanel.imageFileList.itemSelectionChanged.connect(self.getImageToDisplay) self.sidePanel.buttImageAdd.clicked.connect(self.loadImages) self.sidePanel.buttImageRem.clicked.connect(self.removeImage) self.sidePanel.buttImageUp.clicked.connect(self.sidePanel.moveImageUp) self.sidePanel.buttImageDown.clicked.connect(self.sidePanel.moveImageDown) self.sidePanel.roiMenu.button1.clicked[()].connect(self.vb.addROI) self.sidePanel.roiMenu.button2.clicked[()].connect(self.vb.addPolyRoiRequest) self.sidePanel.buttRoiCopy.clicked[()].connect(self.vb.copyROI) self.sidePanel.buttRoiRem.clicked.connect(self.vb.removeROI) self.sidePanel.buttRoiLoad.clicked.connect(self.vb.loadROI) self.sidePanel.buttRoiSave.clicked.connect(self.vb.saveROI) self.sidePanel.buttRoiAnalysis.clicked.connect(self.getBMD) self.sidePanel.buttImgAnalysis.clicked.connect(self.imageAnalysis) def onAbout(self): """ About BMDanalyse message""" author ='Michael Hogg' date ='2016' version = self.__version__ QtGui.QMessageBox.about(self, 'About BMDanalyse', """ <b>BMDanalyse</b> <p>A simple program for the analysis of a time series of Bone Mineral Density (BMD) images.</p> <p>Used to evaluate the bone gain / loss in a number of regions of interest (ROIs) over time, typically due to bone remodelling as a result of stress shielding around an orthopaedic implant.</p> <p><table border="0" width="150"> <tr> <td>Author:</td> <td>%s</td> </tr> <tr> <td>Version:</td> <td>%s</td> </tr> <tr> <td>Date:</td> <td>%s</td> </tr> </table></p> """ % (author,version,date)) def loadImages(self): """ Load an image to be analysed """ newImages = {} fileNames = QtGui.QFileDialog.getOpenFileNames(self, self.tr("Load images"),QtCore.QDir.currentPath()) # Fix for PySide. PySide doesn't support QStringList types. PyQt4 getOpenFileNames returns a QStringList, whereas PySide # returns a type (the first entry being the list of filenames). if isinstance(fileNames,types.TupleType): fileNames = fileNames[0] if hasattr(QtCore,'QStringList') and isinstance(fileNames, QtCore.QStringList): fileNames = [str(i) for i in fileNames] if len(fileNames)>0: for fileName in fileNames: if fileName!='': img = Image.open(str(fileName)) imgarr = np.array(img.convert('L')) # Convert to 8-bit imgarr = imgarr.swapaxes(0,1) imgarr = imgarr[:,::-1] newImages[fileName] = imgarr # Add filenames to list widget. Only add new filenames. If filename exists aready, then # it will not be added, but data will be updated for fileName in sorted(newImages.keys()): if not self.imageFiles.has_key(fileName): self.sidePanel.addImageToList(fileName) self.imageFiles[fileName] = newImages[fileName] # Show image in Main window self.vb.enableAutoRange() if self.sidePanel.imageFileList.currentRow()==-1: self.sidePanel.imageFileList.setCurrentRow(0) self.showImage(str(self.sidePanel.imageFileList.currentItem().text())) self.vb.disableAutoRange() def removeImage(self): """ Remove image from sidePanel imageFileList """ # Return if there is no image to remove if self.vb.img is None: return # Get current image in sidePanel imageFileList and remove from list currentRow = self.sidePanel.imageFileList.currentRow() image = self.sidePanel.imageFileList.takeItem(currentRow) imageName = str(image.text()) # Delete key and value from dictionary if imageName!='': del self.imageFiles[imageName] # Get image item in imageFileList to replace deleted image if self.sidePanel.imageFileList.count()==0: self.vb.enableAutoRange() self.vb.removeItem(self.vb.img) self.vb.showImage(None) self.vb.disableAutoRange() else: currentRow = self.sidePanel.imageFileList.currentRow() imageName = str(self.sidePanel.imageFileList.item(currentRow).text()) self.showImage(imageName) def showImage(self,imageFilename): """ Shows image in main view """ self.arr = self.imageFiles[imageFilename] self.vb.showImage(self.arr) def getImageToDisplay(self): """ Get current item in file list and display in main view""" try: imageFilename = str(self.sidePanel.imageFileList.currentItem().text()) except: pass else: self.showImage(imageFilename) def getBMD(self): """ Get change in BMD over time (e.g. for each image) for all ROIs. Revised function that converts the list of images into a 3D array and then uses the relative position of the ROIs to the current image, self.vb.img, to get the average BMD value e.g. it doesn't use setImage to change the image in the view. This requires that all images are the same size and in the same position. """ # Return if there is no image or rois in view if self.vb.img is None or len(self.vb.rois)==0: return # Collect all images into a 3D array imageFilenames = self.sidePanel.getListOfImages() images = [self.imageFiles[str(name.text())] for name in imageFilenames] imageData = np.dstack(images) # Doesn't work correctly if images are not all the same shape numImages = len(images) # Get BMD across image stack for each ROI numROIs = len(self.vb.rois) BMD = np.zeros((numImages,numROIs),dtype=float) self.roiNames = [] for i in xrange(numROIs): roi = self.vb.rois[i] self.roiNames.append(roi.name) arrRegion = roi.getArrayRegion(imageData,self.vb.img, axes=(0,1)) avgROIvalue = arrRegion.mean(axis=0).mean(axis=0) BMD[:,i] = avgROIvalue # Calculate the BMD change (percentage of original) tol = 1.0e-06 for i in xrange(numROIs): if abs(BMD[0,i])<tol: BMD[:,i] = 100. else: BMD[:,i] = BMD[:,i] / BMD[0,i] * 100. self.BMDchange = BMD-100. if self.timeData is None or self.timeData.size!=numImages: self.timeData = np.arange(numImages,dtype=float) # Plot results self.showResults() def imageAnalysis(self): # Generate images of BMD change if self.vb.img is None: return self.showImageWin() def sliderValueChanged(self,value): self.imageWin.sliderLabel.setText('BMD change: >= %d %s' % (value,'%')) self.setLookupTable(value) self.imageWin.vb.img2.setLookupTable(self.lut) self.imageWin.vb.img2.setLevels([0,255]) def setLookupTable(self,val): lut = [] for i in range(256): if i > 127+val: lut.append(matplotlib.cm.jet(255)) elif i < 127-val: lut.append(matplotlib.cm.jet(0)) else: lut.append((0.0,0.0,0.0,0.0)) lut = np.array(lut)*255 self.lut = np.array(lut,dtype=np.ubyte) def createImageWin(self): self.buttMinimumSize = QtCore.QSize(70,36) self.iconSize = QtCore.QSize(24,24) if self.imageWin==None: self.imageWin = QtGui.QDialog(self, QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.WindowTitleHint | \ QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowMaximizeButtonHint) self.imageWin.setWindowTitle('BMDanalyse') self.imageWin.setWindowIcon(self.icons['BMDanalyseIcon']) self.imageWin.setMinimumSize(250,500) self.imageWin.resize(self.imageWin.minimumSize()) # Create viewBox self.imageWin.glw = GraphicsLayoutWidget() # A GraphicsLayout within a GraphicsView self.imageWin.vb = ImageAnalysisViewBox(lockAspect=True,enableMenu=True) self.imageWin.vb.disableAutoRange() self.imageWin.glw.addItem(self.imageWin.vb) arr = self.imageFiles.values()[0] self.imageWin.vb.img1 = ImageItem(arr,autoRange=False,autoLevels=False) self.imageWin.vb.addItem(self.imageWin.vb.img1) self.imageWin.vb.img2 = ImageItem(None,autoRange=False,autoLevels=False) self.imageWin.vb.addItem(self.imageWin.vb.img2) self.imageWin.vb.autoRange() lut = [ [ int(255*val) for val in matplotlib.cm.gray(i)[:3] ] for i in xrange(256) ] lut = np.array(lut,dtype=np.ubyte) self.imageWin.vb.img1.setLookupTable(lut) # Label to show index of current image label self.imageCurrCont = QtGui.QFrame() self.imageCurrCont.setLineWidth(2) self.imageCurrCont.setFrameStyle(QtGui.QFrame.Panel | QtGui.QFrame.Raised) self.imageCurrCont.setMinimumWidth(70) self.imageWin.currLabel = QtGui.QLabel("") self.imageWin.currLabel.setAlignment(QtCore.Qt.AlignHCenter) imageCurrContLayout = QtGui.QHBoxLayout() imageCurrContLayout.addWidget(self.imageWin.currLabel) self.imageCurrCont.setLayout(imageCurrContLayout) # Create buttons to select images self.imageWin.buttCont = QtGui.QWidget() self.imageWin.buttPrev = QtGui.QPushButton(self.icons['imagePrevIcon'],"") self.imageWin.buttNext = QtGui.QPushButton(self.icons['imageNextIcon'],"") self.buttLayout = QtGui.QHBoxLayout() self.buttLayout.addStretch(1) self.buttLayout.addWidget(self.imageWin.buttPrev) self.buttLayout.addWidget(self.imageCurrCont) self.buttLayout.addWidget(self.imageWin.buttNext) self.buttLayout.addStretch(1) self.imageWin.buttCont.setLayout(self.buttLayout) self.imageWin.buttPrev.setMinimumSize(self.buttMinimumSize) self.imageWin.buttNext.setMinimumSize(self.buttMinimumSize) self.imageWin.buttPrev.setIconSize(self.iconSize) self.imageWin.buttNext.setIconSize(self.iconSize) self.buttLayout.setContentsMargins(0,5,0,5) self.imageWin.buttPrev.clicked.connect(self.prevImage) self.imageWin.buttNext.clicked.connect(self.nextImage) # Create slider self.imageWin.sliderCon = QtGui.QWidget() self.imageWin.slider = QtGui.QSlider(self) self.imageWin.slider.setOrientation(QtCore.Qt.Horizontal) self.imageWin.slider.setMinimum(1) self.imageWin.slider.setMaximum(100) self.imageWin.slider.setMinimumWidth(100) self.imageWin.slider.valueChanged.connect(self.sliderValueChanged) self.imageWin.sliderLabel = QtGui.QLabel('1') self.imageWin.sliderLabel.setMinimumWidth(120) self.sliderLayout = QtGui.QHBoxLayout() self.sliderLayout.addStretch(1) self.sliderLayout.addWidget(self.imageWin.sliderLabel) self.sliderLayout.addWidget(self.imageWin.slider) self.sliderLayout.addStretch(1) self.imageWin.sliderCon.setLayout(self.sliderLayout) self.sliderLayout.setContentsMargins(0,0,0,5) # Format image window self.imageWinLayout = QtGui.QVBoxLayout() self.imageWinLayout.addWidget(self.imageWin.glw) self.imageWinLayout.addWidget(self.imageWin.buttCont) self.imageWinLayout.addWidget(self.imageWin.sliderCon) self.imageWin.setLayout(self.imageWinLayout) self.imageWin.imagesRGB = None # Show self.imageWin.show() self.imageWin.slider.setValue(10) self.sliderValueChanged(10) self.imageWinIndex = 0 def prevImage(self): minIndex = 0 currIndex = self.imageWinIndex prevIndex = currIndex - 1 self.imageWinIndex = max(prevIndex,minIndex) self.updateImageWin() def nextImage(self): numImages = len(self.imageFiles) maxIndex = numImages - 1 currIndex = self.imageWinIndex nextIndex = currIndex + 1 self.imageWinIndex = min(nextIndex,maxIndex) self.updateImageWin() def updateImageWin(self): imageFilenames = self.sidePanel.getListOfImages() imageName = imageFilenames[self.imageWinIndex] self.imageWin.vb.img1.setImage(self.imageFiles[str(imageName.text())],autoLevels=False) self.imageWin.vb.img2.setImage(self.imageWin.imagesRGB[self.imageWinIndex],autoLevels=False) self.imageWin.currLabel.setText("%i / %i" % (self.imageWinIndex+1,len(imageFilenames))) def showImageWin(self): self.createImageWin() self.imagesBMDpercentChange() self.updateImageWin() def imagesBMDpercentChange(self): # Get image arrays and convert to an array of floats imageFilenames = self.sidePanel.getListOfImages() images = [ self.imageFiles[str(name.text())] for name in imageFilenames ] imagesConv = [] for img in images: image = img.copy() image[np.where(image==0)] = 1 image = image.astype(np.float) imagesConv.append(image) # Calculate percentage change and set with limits -100% to +100% imagesPercCh = [] imageInitial = imagesConv[0] for image in imagesConv: imagePercCh = (image-imageInitial)/imageInitial*100. imagePercCh[np.where(imagePercCh> 100.)] = 100. imagePercCh[np.where(imagePercCh<-100.)] = -100. imagesPercCh.append(imagePercCh) numImages = len(imagesPercCh) self.imageWin.imagesRGB = [] for i in xrange(numImages): image = imagesPercCh[i] sx,sy = image.shape imageRGB = image*(255/200.)+(255/2.) self.imageWin.imagesRGB.append(imageRGB) def BMDtoCSVfile(self): """ Write BMD change to csv file """ fileName = QtGui.QFileDialog.getSaveFileName(None,self.tr("Export to CSV"),QtCore.QDir.currentPath(),self.tr("CSV (*.csv)")) # Fix for PyQt/PySide compatibility. PyQt returns a QString, whereas PySide returns a tuple (first entry is filename as string) if isinstance(fileName,types.TupleType): fileName = fileName[0] if hasattr(QtCore,'QString') and isinstance(fileName, QtCore.QString): fileName = str(fileName) if not fileName=='': textFile = open(fileName,'w') numFrames, numROIs = self.BMDchange.shape roiNames = self.roiNames header = "%10s," % 'Time' header += ((numROIs-1)*'%10s,'+'%10s\n') % tuple(roiNames) textFile.write(header) for i in xrange(numFrames): textFile.write('%10.1f,' % self.timeData[i]) for j in xrange(numROIs): if j<numROIs-1: fmt = '%10.3f,' else: fmt = '%10.3f\n' textFile.write(fmt % self.BMDchange[i,j]) textFile.close() def showResults(self,): """ Plots BMD change using matplotlib """ # Create plot window if self.plotWin==None: self.plotWin = QtGui.QDialog(self, QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.WindowTitleHint | \ QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowMaximizeButtonHint) self.plotWin.setWindowTitle('BMDanalyse') self.plotWin.setWindowIcon(self.icons['BMDanalyseIcon']) self.plotWin.setMinimumSize(600,500) self.plotWin.resize(self.minimumSize()) # Create Matplotlib widget self.mplw = MatplotlibWidget(size=(5,6)) self.fig = self.mplw.getFigure() self.editDataButton = QtGui.QPushButton('Edit plot') self.exportCSVButton = QtGui.QPushButton('Export data') self.mplw.toolbar.addWidget(self.editDataButton) self.mplw.toolbar.addWidget(self.exportCSVButton) self.editDataButton.clicked.connect(self.showEditBox) self.exportCSVButton.clicked.connect(self.BMDtoCSVfile) # Format plot window self.plotWinLayout = QtGui.QVBoxLayout() self.plotWinLayout.addWidget(self.mplw) self.plotWin.setLayout(self.plotWinLayout) self.createFigure() self.plotWin.show() self.mplw.draw() def createFigure(self): """ Creates plot of results """ self.ax1 = self.fig.add_subplot(111) self.ax1.clear() self.fig.subplots_adjust(bottom=0.15,top=0.85,left=0.15,right=0.925) numFrames, numROIs = self.BMDchange.shape t = self.timeData # Plot data for i in xrange(numROIs): roiname = self.roiNames[i] self.ax1.plot(t,self.BMDchange[:,i],'-o',label=roiname,linewidth=2.0) kwargs = dict(y=1.05) # Or kwargs = {'y':1.05} self.ax1.set_title('Change in Bone Mineral Density over time',fontsize=14,fontweight='roman',**kwargs) self.ax1.set_xlabel('Time',fontsize=10) self.ax1.set_ylabel('Change in BMD (%)',fontsize=10) self.ax1.legend(loc=0) matplotlib.pyplot.setp(self.ax1.get_xmajorticklabels(), fontsize=10) matplotlib.pyplot.setp(self.ax1.get_ymajorticklabels(), fontsize=10) matplotlib.pyplot.setp(self.ax1.get_legend().get_texts(),fontsize=10) self.ax1.grid() def fillEditBox(self): rows,cols = self.BMDchange.shape for i in xrange(rows): itmValue = '%.2f' % self.timeData[i] itm = QtGui.QTableWidgetItem(itmValue) self.tableResults.setItem(i,0,itm) for j in xrange(cols): itmValue = '%.2f' % self.BMDchange[i,j] itm = QtGui.QTableWidgetItem(itmValue) self.tableResults.setItem(i,j+1,itm) def showEditBox(self): self.plotWin.editBox = QtGui.QDialog(self.plotWin, QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.WindowTitleHint) self.plotWin.editBox.setWindowIcon(self.icons['BMDanalyseIcon']) self.plotWin.editBox.setWindowTitle('BMDanalyse') self.plotWin.editBox.setModal(True) # Add table layout = QtGui.QVBoxLayout() layout.setContentsMargins(10,10,10,10) layout.setSpacing(20) rows,cols = self.BMDchange.shape self.tableResults = TableWidget(rows,cols+1,self.plotWin.editBox) self.tableResults.verticalHeader().setVisible(True) # Set headers self.tableResults.setHorizontalHeaderItem(0,QtGui.QTableWidgetItem('Time')) for i in xrange(cols): header = QtGui.QTableWidgetItem(self.roiNames[i]) self.tableResults.setHorizontalHeaderItem(i+1,header) # Add values to table self.fillEditBox() # Set layout layout.addWidget(self.tableResults) self.buttonsFrame = QtGui.QFrame() self.buttonsLayout = QtGui.QHBoxLayout() self.buttonReset = QtGui.QPushButton('Reset') self.buttonSave = QtGui.QPushButton('Save') self.buttonClose = QtGui.QPushButton('Cancel') self.buttonReset.setFixedWidth(50) self.buttonSave.setFixedWidth(50) self.buttonClose.setFixedWidth(50) self.buttonClose.clicked.connect(self.plotWin.editBox.close) self.buttonSave.clicked.connect(self.updateTableValues) self.buttonReset.clicked.connect(self.fillEditBox) self.buttonsLayout.addStretch(1) self.buttonsLayout.addWidget(self.buttonReset) self.buttonsLayout.addWidget(self.buttonSave) self.buttonsLayout.addWidget(self.buttonClose) self.buttonsLayout.setContentsMargins(0,0,0,0) self.buttonsFrame.setLayout(self.buttonsLayout) layout.addWidget(self.buttonsFrame) self.plotWin.editBox.setLayout(layout) self.plotWin.editBox.setMaximumSize(layout.sizeHint()) self.plotWin.editBox.show() def updateTableValues(self): # Create temporary arrays timeData = self.timeData.copy() BMDchange = self.BMDchange.copy() # Put the values from the tables into the temporary arrays rows = self.tableResults.rowCount() cols = self.tableResults.columnCount() for r in xrange(rows): for c in xrange(cols): item = self.tableResults.item(r,c) itemValue = float(item.text()) if c==0: timeData[r] = itemValue else: BMDchange[r,c-1] = itemValue # Check that time values are in increasing order. If so, then update arrays if any(np.diff(timeData)<=0): self.errorMessage = QtGui.QMessageBox() self.errorMessage.setWindowIcon(self.icons['BMDanalyseIcon']) self.errorMessage.setWindowTitle('BMDanalyse') self.errorMessage.setText('Input error: Time values should be in order of increasing value') self.errorMessage.setIcon(QtGui.QMessageBox.Warning) self.errorMessage.open() else: self.timeData = timeData self.BMDchange = BMDchange self.createFigure() self.mplw.draw() self.plotWin.editBox.close()
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1008, 809) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.centralwidget) self.verticalLayout_5.setObjectName("verticalLayout_5") self.verticalLayout_7 = QtWidgets.QVBoxLayout() self.verticalLayout_7.setObjectName("verticalLayout_7") self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) self.tabWidget.setObjectName("tabWidget") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.horizontalLayout = QtWidgets.QHBoxLayout(self.tab) self.horizontalLayout.setObjectName("horizontalLayout") self.splitter_2 = QtWidgets.QSplitter(self.tab) self.splitter_2.setOrientation(QtCore.Qt.Horizontal) self.splitter_2.setObjectName("splitter_2") self.verticalLayoutWidget = QtWidgets.QWidget(self.splitter_2) self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.groupBox = QtWidgets.QGroupBox(self.verticalLayoutWidget) self.groupBox.setObjectName("groupBox") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox) self.verticalLayout_3.setObjectName("verticalLayout_3") self.pushButton_ConnectCamera = QtWidgets.QPushButton(self.groupBox) self.pushButton_ConnectCamera.setObjectName("pushButton_ConnectCamera") self.verticalLayout_3.addWidget(self.pushButton_ConnectCamera) self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") self.spinBox_ExpTime = QtWidgets.QSpinBox(self.groupBox) self.spinBox_ExpTime.setMaximum(1000000) self.spinBox_ExpTime.setProperty("value", 10) self.spinBox_ExpTime.setObjectName("spinBox_ExpTime") self.gridLayout_2.addWidget(self.spinBox_ExpTime, 0, 2, 1, 2) self.label_10 = QtWidgets.QLabel(self.groupBox) self.label_10.setObjectName("label_10") self.gridLayout_2.addWidget(self.label_10, 0, 0, 1, 2) self.spinBox_Width = QtWidgets.QSpinBox(self.groupBox) self.spinBox_Width.setMaximum(2048) self.spinBox_Width.setProperty("value", 2048) self.spinBox_Width.setObjectName("spinBox_Width") self.gridLayout_2.addWidget(self.spinBox_Width, 1, 1, 1, 1) self.spinBox_Hight = QtWidgets.QSpinBox(self.groupBox) self.spinBox_Hight.setMaximum(2048) self.spinBox_Hight.setProperty("value", 2048) self.spinBox_Hight.setObjectName("spinBox_Hight") self.gridLayout_2.addWidget(self.spinBox_Hight, 2, 1, 1, 1) self.label_7 = QtWidgets.QLabel(self.groupBox) self.label_7.setObjectName("label_7") self.gridLayout_2.addWidget(self.label_7, 1, 2, 1, 1) self.label_6 = QtWidgets.QLabel(self.groupBox) self.label_6.setObjectName("label_6") self.gridLayout_2.addWidget(self.label_6, 1, 0, 1, 1) self.spinBox_Yshift = QtWidgets.QSpinBox(self.groupBox) self.spinBox_Yshift.setMaximum(1024) self.spinBox_Yshift.setObjectName("spinBox_Yshift") self.gridLayout_2.addWidget(self.spinBox_Yshift, 2, 3, 1, 1) self.label_8 = QtWidgets.QLabel(self.groupBox) self.label_8.setObjectName("label_8") self.gridLayout_2.addWidget(self.label_8, 2, 2, 1, 1) self.spinBox_XShift = QtWidgets.QSpinBox(self.groupBox) self.spinBox_XShift.setMaximum(1280) self.spinBox_XShift.setObjectName("spinBox_XShift") self.gridLayout_2.addWidget(self.spinBox_XShift, 1, 3, 1, 1) self.label_9 = QtWidgets.QLabel(self.groupBox) self.label_9.setObjectName("label_9") self.gridLayout_2.addWidget(self.label_9, 2, 0, 1, 1) self.verticalLayout_3.addLayout(self.gridLayout_2) self.pushButton_SetCamera = QtWidgets.QPushButton(self.groupBox) self.pushButton_SetCamera.setObjectName("pushButton_SetCamera") self.verticalLayout_3.addWidget(self.pushButton_SetCamera) self.label_3 = QtWidgets.QLabel(self.groupBox) self.label_3.setObjectName("label_3") self.verticalLayout_3.addWidget(self.label_3) self.textBrowser_SetMeasureInf = QtWidgets.QTextBrowser(self.groupBox) self.textBrowser_SetMeasureInf.setObjectName( "textBrowser_SetMeasureInf") self.verticalLayout_3.addWidget(self.textBrowser_SetMeasureInf) self.gridLayout_4 = QtWidgets.QGridLayout() self.gridLayout_4.setObjectName("gridLayout_4") self.spinBox_FrameNum = QtWidgets.QSpinBox(self.groupBox) self.spinBox_FrameNum.setMaximum(500000) self.spinBox_FrameNum.setProperty("value", 5000) self.spinBox_FrameNum.setObjectName("spinBox_FrameNum") self.gridLayout_4.addWidget(self.spinBox_FrameNum, 0, 1, 1, 1) self.label_2 = QtWidgets.QLabel(self.groupBox) self.label_2.setObjectName("label_2") self.gridLayout_4.addWidget(self.label_2, 1, 0, 1, 1) self.label = QtWidgets.QLabel(self.groupBox) self.label.setObjectName("label") self.gridLayout_4.addWidget(self.label, 0, 0, 1, 1) self.pushButton_RunMultiFrames = QtWidgets.QPushButton(self.groupBox) self.pushButton_RunMultiFrames.setObjectName( "pushButton_RunMultiFrames") self.gridLayout_4.addWidget(self.pushButton_RunMultiFrames, 2, 0, 1, 1) self.spinBox_SegmentNum = QtWidgets.QSpinBox(self.groupBox) self.spinBox_SegmentNum.setMaximum(100000) self.spinBox_SegmentNum.setProperty("value", 1000) self.spinBox_SegmentNum.setObjectName("spinBox_SegmentNum") self.gridLayout_4.addWidget(self.spinBox_SegmentNum, 1, 1, 1, 1) self.pushButton_Save2Nc = QtWidgets.QPushButton(self.groupBox) self.pushButton_Save2Nc.setObjectName("pushButton_Save2Nc") self.gridLayout_4.addWidget(self.pushButton_Save2Nc, 3, 0, 1, 2) self.verticalLayout_3.addLayout(self.gridLayout_4) self.verticalLayout.addWidget(self.groupBox) self.verticalLayoutWidget_2 = QtWidgets.QWidget(self.splitter_2) self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2") self.verticalLayout_2 = QtWidgets.QVBoxLayout( self.verticalLayoutWidget_2) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem, 1, 1, 1, 1) self.pushButton_StopImaging = QtWidgets.QPushButton( self.verticalLayoutWidget_2) font = QtGui.QFont() font.setBold(True) font.setUnderline(True) font.setWeight(75) font.setStrikeOut(False) self.pushButton_StopImaging.setFont(font) self.pushButton_StopImaging.setStyleSheet( "background-color: #A3C1DA; color: red") self.pushButton_StopImaging.setObjectName("pushButton_StopImaging") self.gridLayout.addWidget(self.pushButton_StopImaging, 1, 2, 1, 1) self.pushButton_StartImaging = QtWidgets.QPushButton( self.verticalLayoutWidget_2) font = QtGui.QFont() font.setBold(True) font.setUnderline(True) font.setWeight(75) self.pushButton_StartImaging.setFont(font) self.pushButton_StartImaging.setCursor( QtGui.QCursor(QtCore.Qt.ArrowCursor)) self.pushButton_StartImaging.setAutoFillBackground(False) self.pushButton_StartImaging.setStyleSheet( "background-color: #A3C1DA; color: green") self.pushButton_StartImaging.setObjectName("pushButton_StartImaging") self.gridLayout.addWidget(self.pushButton_StartImaging, 1, 0, 1, 1) self.verticalLayout_ImageShow = QtWidgets.QVBoxLayout() self.verticalLayout_ImageShow.setObjectName("verticalLayout_ImageShow") self.gridLayout.addLayout(self.verticalLayout_ImageShow, 0, 0, 1, 3) self.verticalLayout_2.addLayout(self.gridLayout) self.horizontalLayout.addWidget(self.splitter_2) self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.tab_2) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.splitter = QtWidgets.QSplitter(self.tab_2) self.splitter.setOrientation(QtCore.Qt.Horizontal) self.splitter.setObjectName("splitter") self.verticalLayoutWidget_3 = QtWidgets.QWidget(self.splitter) self.verticalLayoutWidget_3.setObjectName("verticalLayoutWidget_3") self.verticalLayout_4 = QtWidgets.QVBoxLayout( self.verticalLayoutWidget_3) self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) self.verticalLayout_4.setObjectName("verticalLayout_4") self.pushButton_OpenFile = QtWidgets.QPushButton( self.verticalLayoutWidget_3) self.pushButton_OpenFile.setObjectName("pushButton_OpenFile") self.verticalLayout_4.addWidget(self.pushButton_OpenFile) self.verticalLayout_AverageImage = QtWidgets.QVBoxLayout() self.verticalLayout_AverageImage.setObjectName( "verticalLayout_AverageImage") self.verticalLayout_4.addLayout(self.verticalLayout_AverageImage) self.pushButton_AverageImage = QtWidgets.QPushButton( self.verticalLayoutWidget_3) self.pushButton_AverageImage.setObjectName("pushButton_AverageImage") self.verticalLayout_4.addWidget(self.pushButton_AverageImage) self.label_4 = QtWidgets.QLabel(self.verticalLayoutWidget_3) self.label_4.setObjectName("label_4") self.verticalLayout_4.addWidget(self.label_4) self.textBrowser = QtWidgets.QTextBrowser(self.verticalLayoutWidget_3) self.textBrowser.setObjectName("textBrowser") self.verticalLayout_4.addWidget(self.textBrowser) self.verticalLayoutWidget_4 = QtWidgets.QWidget(self.splitter) self.verticalLayoutWidget_4.setObjectName("verticalLayoutWidget_4") self.gridLayout_3 = QtWidgets.QGridLayout(self.verticalLayoutWidget_4) self.gridLayout_3.setContentsMargins(0, 0, 0, 0) self.gridLayout_3.setObjectName("gridLayout_3") self.widget_2 = QtWidgets.QWidget(self.verticalLayoutWidget_4) self.widget_2.setObjectName("widget_2") self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.widget_2) self.verticalLayout_6.setObjectName("verticalLayout_6") self.verticalLayout_8 = QtWidgets.QVBoxLayout() self.verticalLayout_8.setObjectName("verticalLayout_8") self.widget_4 = QtWidgets.QWidget(self.widget_2) self.widget_4.setObjectName("widget_4") self.verticalLayoutWidget_7 = QtWidgets.QWidget(self.widget_4) self.verticalLayoutWidget_7.setGeometry(QtCore.QRect(10, 10, 421, 291)) self.verticalLayoutWidget_7.setObjectName("verticalLayoutWidget_7") self.verticalLayout_Distribution = QtWidgets.QVBoxLayout( self.verticalLayoutWidget_7) self.verticalLayout_Distribution.setContentsMargins(0, 0, 0, 0) self.verticalLayout_Distribution.setObjectName( "verticalLayout_Distribution") self.verticalLayout_8.addWidget(self.widget_4) self.pushButton_Distribution = QtWidgets.QPushButton(self.widget_2) self.pushButton_Distribution.setObjectName("pushButton_Distribution") self.verticalLayout_8.addWidget(self.pushButton_Distribution) self.verticalLayout_6.addLayout(self.verticalLayout_8) self.verticalLayout_16 = QtWidgets.QVBoxLayout() self.verticalLayout_16.setObjectName("verticalLayout_16") self.widget_5 = QtWidgets.QWidget(self.widget_2) self.widget_5.setObjectName("widget_5") self.verticalLayoutWidget_8 = QtWidgets.QWidget(self.widget_5) self.verticalLayoutWidget_8.setGeometry(QtCore.QRect(10, 10, 421, 291)) self.verticalLayoutWidget_8.setObjectName("verticalLayoutWidget_8") self.verticalLayout_CoherentLength = QtWidgets.QVBoxLayout( self.verticalLayoutWidget_8) self.verticalLayout_CoherentLength.setContentsMargins(0, 0, 0, 0) self.verticalLayout_CoherentLength.setObjectName( "verticalLayout_CoherentLength") self.verticalLayout_16.addWidget(self.widget_5) self.pushButton_CoherentLength = QtWidgets.QPushButton(self.widget_2) self.pushButton_CoherentLength.setObjectName( "pushButton_CoherentLength") self.verticalLayout_16.addWidget(self.pushButton_CoherentLength) self.verticalLayout_6.addLayout(self.verticalLayout_16) self.horizontalLayout_4 = QtWidgets.QHBoxLayout() self.horizontalLayout_4.setObjectName("horizontalLayout_4") spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem1) self.label_5 = QtWidgets.QLabel(self.widget_2) self.label_5.setObjectName("label_5") self.horizontalLayout_4.addWidget(self.label_5) self.spinBox_PixelX = QtWidgets.QSpinBox(self.widget_2) self.spinBox_PixelX.setMaximum(1280) self.spinBox_PixelX.setObjectName("spinBox_PixelX") self.horizontalLayout_4.addWidget(self.spinBox_PixelX) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem2) self.label_11 = QtWidgets.QLabel(self.widget_2) self.label_11.setObjectName("label_11") self.horizontalLayout_4.addWidget(self.label_11) self.spinBox_PixelY = QtWidgets.QSpinBox(self.widget_2) self.spinBox_PixelY.setMaximum(1024) self.spinBox_PixelY.setObjectName("spinBox_PixelY") self.horizontalLayout_4.addWidget(self.spinBox_PixelY) self.verticalLayout_6.addLayout(self.horizontalLayout_4) self.gridLayout_3.addWidget(self.widget_2, 1, 0, 1, 1) self.horizontalLayout_2.addWidget(self.splitter) self.tabWidget.addTab(self.tab_2, "") self.tab_3 = QtWidgets.QWidget() self.tab_3.setObjectName("tab_3") self.verticalLayout_12 = QtWidgets.QVBoxLayout(self.tab_3) self.verticalLayout_12.setObjectName("verticalLayout_12") self.verticalLayout_9 = QtWidgets.QVBoxLayout() self.verticalLayout_9.setObjectName("verticalLayout_9") self.widget = QtWidgets.QWidget(self.tab_3) self.widget.setObjectName("widget") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.widget) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.splitter_3 = QtWidgets.QSplitter(self.widget) self.splitter_3.setOrientation(QtCore.Qt.Horizontal) self.splitter_3.setObjectName("splitter_3") self.verticalLayoutWidget_5 = QtWidgets.QWidget(self.splitter_3) self.verticalLayoutWidget_5.setObjectName("verticalLayoutWidget_5") self.verticalLayout_10 = QtWidgets.QVBoxLayout( self.verticalLayoutWidget_5) self.verticalLayout_10.setContentsMargins(0, 0, 0, 0) self.verticalLayout_10.setObjectName("verticalLayout_10") self.pushButton_OpenBackground = QtWidgets.QPushButton( self.verticalLayoutWidget_5) self.pushButton_OpenBackground.setObjectName( "pushButton_OpenBackground") self.verticalLayout_10.addWidget(self.pushButton_OpenBackground) self.widget_Background = MatplotlibWidget(self.verticalLayoutWidget_5) self.widget_Background.setObjectName("widget_Background") self.verticalLayout_10.addWidget(self.widget_Background) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.spinBox_NOderMomentBackground = QtWidgets.QSpinBox( self.verticalLayoutWidget_5) self.spinBox_NOderMomentBackground.setMinimum(1) self.spinBox_NOderMomentBackground.setMaximum(20) self.spinBox_NOderMomentBackground.setObjectName( "spinBox_NOderMomentBackground") self.horizontalLayout_3.addWidget(self.spinBox_NOderMomentBackground) self.label_13 = QtWidgets.QLabel(self.verticalLayoutWidget_5) self.label_13.setObjectName("label_13") self.horizontalLayout_3.addWidget(self.label_13) self.pushButton_NOderMomentBackground = QtWidgets.QPushButton( self.verticalLayoutWidget_5) self.pushButton_NOderMomentBackground.setObjectName( "pushButton_NOderMomentBackground") self.horizontalLayout_3.addWidget( self.pushButton_NOderMomentBackground) spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem3) self.verticalLayout_10.addLayout(self.horizontalLayout_3) self.pushButton_SaveBackground = QtWidgets.QPushButton( self.verticalLayoutWidget_5) self.pushButton_SaveBackground.setObjectName( "pushButton_SaveBackground") self.verticalLayout_10.addWidget(self.pushButton_SaveBackground) self.verticalLayoutWidget_6 = QtWidgets.QWidget(self.splitter_3) self.verticalLayoutWidget_6.setObjectName("verticalLayoutWidget_6") self.verticalLayout_11 = QtWidgets.QVBoxLayout( self.verticalLayoutWidget_6) self.verticalLayout_11.setContentsMargins(0, 0, 0, 0) self.verticalLayout_11.setObjectName("verticalLayout_11") self.pushButton_OpenSignal = QtWidgets.QPushButton( self.verticalLayoutWidget_6) self.pushButton_OpenSignal.setObjectName("pushButton_OpenSignal") self.verticalLayout_11.addWidget(self.pushButton_OpenSignal) self.widget_Signal = MatplotlibWidget(self.verticalLayoutWidget_6) self.widget_Signal.setObjectName("widget_Signal") self.verticalLayout_11.addWidget(self.widget_Signal) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.spinBox_NOderMomentSignal = QtWidgets.QSpinBox( self.verticalLayoutWidget_6) self.spinBox_NOderMomentSignal.setEnabled(True) self.spinBox_NOderMomentSignal.setMinimum(1) self.spinBox_NOderMomentSignal.setMaximum(20) self.spinBox_NOderMomentSignal.setProperty("value", 1) self.spinBox_NOderMomentSignal.setObjectName( "spinBox_NOderMomentSignal") self.horizontalLayout_5.addWidget(self.spinBox_NOderMomentSignal) self.label_14 = QtWidgets.QLabel(self.verticalLayoutWidget_6) self.label_14.setObjectName("label_14") self.horizontalLayout_5.addWidget(self.label_14) self.pushButton_NOderMomentSignal = QtWidgets.QPushButton( self.verticalLayoutWidget_6) self.pushButton_NOderMomentSignal.setObjectName( "pushButton_NOderMomentSignal") self.horizontalLayout_5.addWidget(self.pushButton_NOderMomentSignal) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem4) self.verticalLayout_11.addLayout(self.horizontalLayout_5) self.pushButton_SaveSignal = QtWidgets.QPushButton( self.verticalLayoutWidget_6) self.pushButton_SaveSignal.setObjectName("pushButton_SaveSignal") self.verticalLayout_11.addWidget(self.pushButton_SaveSignal) self.horizontalLayout_6.addWidget(self.splitter_3) self.verticalLayout_9.addWidget(self.widget) self.verticalLayout_12.addLayout(self.verticalLayout_9) self.tabWidget.addTab(self.tab_3, "") self.tab_4 = QtWidgets.QWidget() self.tab_4.setObjectName("tab_4") self.horizontalLayout_10 = QtWidgets.QHBoxLayout(self.tab_4) self.horizontalLayout_10.setObjectName("horizontalLayout_10") self.verticalLayout_13 = QtWidgets.QVBoxLayout() self.verticalLayout_13.setObjectName("verticalLayout_13") self.pushButton_OpenBackgroundMC = QtWidgets.QPushButton(self.tab_4) self.pushButton_OpenBackgroundMC.setObjectName( "pushButton_OpenBackgroundMC") self.verticalLayout_13.addWidget(self.pushButton_OpenBackgroundMC) self.pushButton_OpenSignalMC = QtWidgets.QPushButton(self.tab_4) self.pushButton_OpenSignalMC.setObjectName("pushButton_OpenSignalMC") self.verticalLayout_13.addWidget(self.pushButton_OpenSignalMC) self.pushButton_ImageProcess = QtWidgets.QPushButton(self.tab_4) self.pushButton_ImageProcess.setObjectName("pushButton_ImageProcess") self.verticalLayout_13.addWidget(self.pushButton_ImageProcess) self.widget_3 = QtWidgets.QWidget(self.tab_4) self.widget_3.setObjectName("widget_3") self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.widget_3) self.horizontalLayout_7.setObjectName("horizontalLayout_7") self.splitter_4 = QtWidgets.QSplitter(self.widget_3) self.splitter_4.setOrientation(QtCore.Qt.Horizontal) self.splitter_4.setObjectName("splitter_4") self.verticalLayoutWidget_9 = QtWidgets.QWidget(self.splitter_4) self.verticalLayoutWidget_9.setObjectName("verticalLayoutWidget_9") self.verticalLayout_14 = QtWidgets.QVBoxLayout( self.verticalLayoutWidget_9) self.verticalLayout_14.setContentsMargins(0, 0, 0, 0) self.verticalLayout_14.setObjectName("verticalLayout_14") self.widget_NOderImage = MatplotlibWidget(self.verticalLayoutWidget_9) self.widget_NOderImage.setObjectName("widget_NOderImage") self.verticalLayout_14.addWidget(self.widget_NOderImage) self.horizontalLayout_8 = QtWidgets.QHBoxLayout() self.horizontalLayout_8.setObjectName("horizontalLayout_8") self.spinBox_NOderImage = QtWidgets.QSpinBox( self.verticalLayoutWidget_9) self.spinBox_NOderImage.setMinimum(1) self.spinBox_NOderImage.setMaximum(20) self.spinBox_NOderImage.setObjectName("spinBox_NOderImage") self.horizontalLayout_8.addWidget(self.spinBox_NOderImage) self.label_15 = QtWidgets.QLabel(self.verticalLayoutWidget_9) self.label_15.setObjectName("label_15") self.horizontalLayout_8.addWidget(self.label_15) spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem5) self.doubleSpinBox_UplimitImage = QtWidgets.QDoubleSpinBox( self.verticalLayoutWidget_9) self.doubleSpinBox_UplimitImage.setProperty("value", 1.0) self.doubleSpinBox_UplimitImage.setObjectName( "doubleSpinBox_UplimitImage") self.horizontalLayout_8.addWidget(self.doubleSpinBox_UplimitImage) self.label_12 = QtWidgets.QLabel(self.verticalLayoutWidget_9) self.label_12.setObjectName("label_12") self.horizontalLayout_8.addWidget(self.label_12) spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem6) self.pushButton_NOderImage = QtWidgets.QPushButton( self.verticalLayoutWidget_9) self.pushButton_NOderImage.setObjectName("pushButton_NOderImage") self.horizontalLayout_8.addWidget(self.pushButton_NOderImage) spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem7) self.verticalLayout_14.addLayout(self.horizontalLayout_8) self.pushButton_SaveCumulant = QtWidgets.QPushButton( self.verticalLayoutWidget_9) self.pushButton_SaveCumulant.setObjectName("pushButton_SaveCumulant") self.verticalLayout_14.addWidget(self.pushButton_SaveCumulant) self.verticalLayoutWidget_10 = QtWidgets.QWidget(self.splitter_4) self.verticalLayoutWidget_10.setObjectName("verticalLayoutWidget_10") self.verticalLayout_15 = QtWidgets.QVBoxLayout( self.verticalLayoutWidget_10) self.verticalLayout_15.setContentsMargins(0, 0, 0, 0) self.verticalLayout_15.setObjectName("verticalLayout_15") self.widget_NOderImageNorm = MatplotlibWidget( self.verticalLayoutWidget_10) self.widget_NOderImageNorm.setObjectName("widget_NOderImageNorm") self.verticalLayout_15.addWidget(self.widget_NOderImageNorm) self.horizontalLayout_9 = QtWidgets.QHBoxLayout() self.horizontalLayout_9.setObjectName("horizontalLayout_9") self.spinBox_NOderImageNorm = QtWidgets.QSpinBox( self.verticalLayoutWidget_10) self.spinBox_NOderImageNorm.setEnabled(True) self.spinBox_NOderImageNorm.setMinimum(1) self.spinBox_NOderImageNorm.setMaximum(20) self.spinBox_NOderImageNorm.setProperty("value", 4) self.spinBox_NOderImageNorm.setObjectName("spinBox_NOderImageNorm") self.horizontalLayout_9.addWidget(self.spinBox_NOderImageNorm) self.label_16 = QtWidgets.QLabel(self.verticalLayoutWidget_10) self.label_16.setObjectName("label_16") self.horizontalLayout_9.addWidget(self.label_16) spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem8) self.doubleSpinBox_UplimitImageNorm = QtWidgets.QDoubleSpinBox( self.verticalLayoutWidget_10) self.doubleSpinBox_UplimitImageNorm.setSingleStep(1e-05) self.doubleSpinBox_UplimitImageNorm.setProperty("value", 1.0) self.doubleSpinBox_UplimitImageNorm.setObjectName( "doubleSpinBox_UplimitImageNorm") self.horizontalLayout_9.addWidget(self.doubleSpinBox_UplimitImageNorm) self.label_17 = QtWidgets.QLabel(self.verticalLayoutWidget_10) self.label_17.setObjectName("label_17") self.horizontalLayout_9.addWidget(self.label_17) spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem9) self.pushButton_NOderImageNorm = QtWidgets.QPushButton( self.verticalLayoutWidget_10) self.pushButton_NOderImageNorm.setObjectName( "pushButton_NOderImageNorm") self.horizontalLayout_9.addWidget(self.pushButton_NOderImageNorm) spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem10) self.verticalLayout_15.addLayout(self.horizontalLayout_9) self.pushButton_SaveCumulantNorm = QtWidgets.QPushButton( self.verticalLayoutWidget_10) self.pushButton_SaveCumulantNorm.setObjectName( "pushButton_SaveCumulantNorm") self.verticalLayout_15.addWidget(self.pushButton_SaveCumulantNorm) self.horizontalLayout_7.addWidget(self.splitter_4) self.verticalLayout_13.addWidget(self.widget_3) self.horizontalLayout_10.addLayout(self.verticalLayout_13) self.tabWidget.addTab(self.tab_4, "") self.verticalLayout_7.addWidget(self.tabWidget) self.verticalLayout_5.addLayout(self.verticalLayout_7) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1008, 21)) 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.tabWidget.setCurrentIndex(3) QtCore.QMetaObject.connectSlotsByName(MainWindow)