2023-05-19 11:23:39 +08:00
|
|
|
# Form implementation generated from reading ui file 'tec_qt.ui'
|
|
|
|
#
|
2023-07-06 16:06:33 +08:00
|
|
|
# Created by: PyQt6 UI code generator 6.5.0
|
2023-05-19 11:23:39 +08:00
|
|
|
#
|
|
|
|
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
|
|
|
|
# run again. Do not edit this file unless you know what you are doing.
|
|
|
|
|
|
|
|
|
|
|
|
from PyQt6 import QtCore, QtGui, QtWidgets
|
|
|
|
|
|
|
|
|
|
|
|
class Ui_MainWindow(object):
|
|
|
|
def setupUi(self, MainWindow):
|
|
|
|
MainWindow.setObjectName("MainWindow")
|
|
|
|
MainWindow.resize(1280, 720)
|
|
|
|
MainWindow.setMinimumSize(QtCore.QSize(1280, 720))
|
|
|
|
MainWindow.setMaximumSize(QtCore.QSize(3840, 2160))
|
|
|
|
self.main_widget = QtWidgets.QWidget(parent=MainWindow)
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
|
|
|
|
sizePolicy.setHorizontalStretch(1)
|
|
|
|
sizePolicy.setVerticalStretch(1)
|
|
|
|
sizePolicy.setHeightForWidth(self.main_widget.sizePolicy().hasHeightForWidth())
|
|
|
|
self.main_widget.setSizePolicy(sizePolicy)
|
|
|
|
self.main_widget.setObjectName("main_widget")
|
|
|
|
self.gridLayout_2 = QtWidgets.QGridLayout(self.main_widget)
|
|
|
|
self.gridLayout_2.setContentsMargins(3, 3, 3, 3)
|
|
|
|
self.gridLayout_2.setSpacing(3)
|
|
|
|
self.gridLayout_2.setObjectName("gridLayout_2")
|
|
|
|
self.main_layout = QtWidgets.QVBoxLayout()
|
|
|
|
self.main_layout.setSpacing(0)
|
|
|
|
self.main_layout.setObjectName("main_layout")
|
|
|
|
self.graph_group = QtWidgets.QFrame(parent=self.main_widget)
|
|
|
|
self.graph_group.setEnabled(False)
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
|
|
|
|
sizePolicy.setHorizontalStretch(1)
|
|
|
|
sizePolicy.setVerticalStretch(1)
|
|
|
|
sizePolicy.setHeightForWidth(self.graph_group.sizePolicy().hasHeightForWidth())
|
|
|
|
self.graph_group.setSizePolicy(sizePolicy)
|
|
|
|
self.graph_group.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
|
|
|
self.graph_group.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
|
|
|
self.graph_group.setObjectName("graph_group")
|
|
|
|
self.graphs_layout = QtWidgets.QGridLayout(self.graph_group)
|
|
|
|
self.graphs_layout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetDefaultConstraint)
|
|
|
|
self.graphs_layout.setContentsMargins(3, 3, 3, 3)
|
|
|
|
self.graphs_layout.setSpacing(2)
|
|
|
|
self.graphs_layout.setObjectName("graphs_layout")
|
|
|
|
self.ch1_tree = ParameterTree(parent=self.graph_group)
|
2023-07-28 17:46:12 +08:00
|
|
|
self.ch1_tree.setHeaderHidden(True)
|
2023-05-19 11:23:39 +08:00
|
|
|
self.ch1_tree.setObjectName("ch1_tree")
|
|
|
|
self.graphs_layout.addWidget(self.ch1_tree, 1, 0, 1, 1)
|
|
|
|
self.ch0_tree = ParameterTree(parent=self.graph_group)
|
2023-07-28 17:46:12 +08:00
|
|
|
self.ch0_tree.setHeaderHidden(True)
|
2023-05-19 11:23:39 +08:00
|
|
|
self.ch0_tree.setObjectName("ch0_tree")
|
|
|
|
self.graphs_layout.addWidget(self.ch0_tree, 0, 0, 1, 1)
|
2023-07-06 16:06:33 +08:00
|
|
|
self.ch1_t_graph = LivePlotWidget(parent=self.graph_group)
|
2023-05-19 11:23:39 +08:00
|
|
|
self.ch1_t_graph.setObjectName("ch1_t_graph")
|
|
|
|
self.graphs_layout.addWidget(self.ch1_t_graph, 1, 1, 1, 1)
|
2023-07-06 16:06:33 +08:00
|
|
|
self.ch0_t_graph = LivePlotWidget(parent=self.graph_group)
|
2023-05-19 11:23:39 +08:00
|
|
|
self.ch0_t_graph.setObjectName("ch0_t_graph")
|
|
|
|
self.graphs_layout.addWidget(self.ch0_t_graph, 0, 1, 1, 1)
|
2023-07-06 16:06:33 +08:00
|
|
|
self.ch0_i_graph = LivePlotWidget(parent=self.graph_group)
|
2023-05-19 11:23:39 +08:00
|
|
|
self.ch0_i_graph.setObjectName("ch0_i_graph")
|
|
|
|
self.graphs_layout.addWidget(self.ch0_i_graph, 0, 2, 1, 1)
|
2023-07-06 16:06:33 +08:00
|
|
|
self.ch1_i_graph = LivePlotWidget(parent=self.graph_group)
|
2023-05-19 11:23:39 +08:00
|
|
|
self.ch1_i_graph.setObjectName("ch1_i_graph")
|
|
|
|
self.graphs_layout.addWidget(self.ch1_i_graph, 1, 2, 1, 1)
|
|
|
|
self.graphs_layout.setColumnMinimumWidth(0, 100)
|
|
|
|
self.graphs_layout.setColumnMinimumWidth(1, 100)
|
|
|
|
self.graphs_layout.setColumnMinimumWidth(2, 100)
|
|
|
|
self.graphs_layout.setRowMinimumHeight(0, 100)
|
|
|
|
self.graphs_layout.setRowMinimumHeight(1, 100)
|
|
|
|
self.graphs_layout.setColumnStretch(0, 1)
|
|
|
|
self.graphs_layout.setColumnStretch(1, 1)
|
|
|
|
self.graphs_layout.setColumnStretch(2, 1)
|
|
|
|
self.graphs_layout.setRowStretch(0, 1)
|
|
|
|
self.graphs_layout.setRowStretch(1, 1)
|
|
|
|
self.main_layout.addWidget(self.graph_group)
|
|
|
|
self.bottom_settings_group = QtWidgets.QFrame(parent=self.main_widget)
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
sizePolicy.setHeightForWidth(self.bottom_settings_group.sizePolicy().hasHeightForWidth())
|
|
|
|
self.bottom_settings_group.setSizePolicy(sizePolicy)
|
|
|
|
self.bottom_settings_group.setMinimumSize(QtCore.QSize(0, 40))
|
|
|
|
self.bottom_settings_group.setMaximumSize(QtCore.QSize(16777215, 40))
|
|
|
|
self.bottom_settings_group.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
|
|
|
self.bottom_settings_group.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
|
|
|
self.bottom_settings_group.setObjectName("bottom_settings_group")
|
|
|
|
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.bottom_settings_group)
|
|
|
|
self.horizontalLayout_2.setContentsMargins(3, 3, 3, 3)
|
|
|
|
self.horizontalLayout_2.setSpacing(3)
|
|
|
|
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
|
|
|
self.settings_layout = QtWidgets.QHBoxLayout()
|
|
|
|
self.settings_layout.setObjectName("settings_layout")
|
|
|
|
self.connect_btn = QtWidgets.QPushButton(parent=self.bottom_settings_group)
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding)
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
sizePolicy.setHeightForWidth(self.connect_btn.sizePolicy().hasHeightForWidth())
|
|
|
|
self.connect_btn.setSizePolicy(sizePolicy)
|
|
|
|
self.connect_btn.setMinimumSize(QtCore.QSize(100, 0))
|
|
|
|
self.connect_btn.setMaximumSize(QtCore.QSize(100, 16777215))
|
|
|
|
self.connect_btn.setBaseSize(QtCore.QSize(100, 0))
|
|
|
|
self.connect_btn.setObjectName("connect_btn")
|
|
|
|
self.settings_layout.addWidget(self.connect_btn)
|
|
|
|
self.status_lbl = QtWidgets.QLabel(parent=self.bottom_settings_group)
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding)
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
sizePolicy.setHeightForWidth(self.status_lbl.sizePolicy().hasHeightForWidth())
|
|
|
|
self.status_lbl.setSizePolicy(sizePolicy)
|
2023-07-19 12:30:25 +08:00
|
|
|
self.status_lbl.setMinimumSize(QtCore.QSize(240, 0))
|
2023-05-19 11:23:39 +08:00
|
|
|
self.status_lbl.setMaximumSize(QtCore.QSize(120, 16777215))
|
|
|
|
self.status_lbl.setBaseSize(QtCore.QSize(120, 50))
|
|
|
|
self.status_lbl.setObjectName("status_lbl")
|
|
|
|
self.settings_layout.addWidget(self.status_lbl)
|
2023-07-19 11:38:04 +08:00
|
|
|
self.thermostat_settings = QtWidgets.QToolButton(parent=self.bottom_settings_group)
|
|
|
|
self.thermostat_settings.setText("⚙")
|
|
|
|
self.thermostat_settings.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
|
|
|
|
self.thermostat_settings.setObjectName("thermostat_settings")
|
|
|
|
self.settings_layout.addWidget(self.thermostat_settings)
|
2023-07-26 13:50:29 +08:00
|
|
|
self.toolButton_2 = QtWidgets.QToolButton(parent=self.bottom_settings_group)
|
|
|
|
self.toolButton_2.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
|
|
|
|
self.toolButton_2.setObjectName("toolButton_2")
|
|
|
|
self.settings_layout.addWidget(self.toolButton_2)
|
2023-07-26 13:17:59 +08:00
|
|
|
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
|
|
|
self.settings_layout.addItem(spacerItem)
|
2023-05-19 11:23:39 +08:00
|
|
|
self.report_group = QtWidgets.QWidget(parent=self.bottom_settings_group)
|
|
|
|
self.report_group.setEnabled(False)
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
sizePolicy.setHeightForWidth(self.report_group.sizePolicy().hasHeightForWidth())
|
|
|
|
self.report_group.setSizePolicy(sizePolicy)
|
|
|
|
self.report_group.setMinimumSize(QtCore.QSize(40, 0))
|
|
|
|
self.report_group.setObjectName("report_group")
|
|
|
|
self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.report_group)
|
|
|
|
self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
|
|
|
|
self.horizontalLayout_4.setSpacing(0)
|
|
|
|
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
|
|
|
|
self.report_layout = QtWidgets.QHBoxLayout()
|
|
|
|
self.report_layout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetDefaultConstraint)
|
|
|
|
self.report_layout.setContentsMargins(0, -1, -1, -1)
|
|
|
|
self.report_layout.setSpacing(6)
|
|
|
|
self.report_layout.setObjectName("report_layout")
|
2023-07-20 17:19:51 +08:00
|
|
|
self.report_lbl = QtWidgets.QLabel(parent=self.report_group)
|
|
|
|
self.report_lbl.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
|
|
|
|
self.report_lbl.setObjectName("report_lbl")
|
|
|
|
self.report_layout.addWidget(self.report_lbl)
|
2023-05-19 11:23:39 +08:00
|
|
|
self.report_refresh_spin = QtWidgets.QDoubleSpinBox(parent=self.report_group)
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding)
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
sizePolicy.setHeightForWidth(self.report_refresh_spin.sizePolicy().hasHeightForWidth())
|
|
|
|
self.report_refresh_spin.setSizePolicy(sizePolicy)
|
|
|
|
self.report_refresh_spin.setMinimumSize(QtCore.QSize(70, 0))
|
|
|
|
self.report_refresh_spin.setMaximumSize(QtCore.QSize(70, 16777215))
|
|
|
|
self.report_refresh_spin.setBaseSize(QtCore.QSize(70, 0))
|
|
|
|
self.report_refresh_spin.setDecimals(1)
|
|
|
|
self.report_refresh_spin.setMinimum(0.1)
|
|
|
|
self.report_refresh_spin.setSingleStep(0.1)
|
|
|
|
self.report_refresh_spin.setStepType(QtWidgets.QAbstractSpinBox.StepType.AdaptiveDecimalStepType)
|
|
|
|
self.report_refresh_spin.setProperty("value", 1.0)
|
|
|
|
self.report_refresh_spin.setObjectName("report_refresh_spin")
|
|
|
|
self.report_layout.addWidget(self.report_refresh_spin)
|
|
|
|
self.report_box = QtWidgets.QCheckBox(parent=self.report_group)
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding)
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
sizePolicy.setHeightForWidth(self.report_box.sizePolicy().hasHeightForWidth())
|
|
|
|
self.report_box.setSizePolicy(sizePolicy)
|
|
|
|
self.report_box.setMaximumSize(QtCore.QSize(80, 16777215))
|
|
|
|
self.report_box.setBaseSize(QtCore.QSize(80, 0))
|
|
|
|
self.report_box.setObjectName("report_box")
|
|
|
|
self.report_layout.addWidget(self.report_box)
|
|
|
|
self.report_apply_btn = QtWidgets.QPushButton(parent=self.report_group)
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Expanding)
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
sizePolicy.setHeightForWidth(self.report_apply_btn.sizePolicy().hasHeightForWidth())
|
|
|
|
self.report_apply_btn.setSizePolicy(sizePolicy)
|
|
|
|
self.report_apply_btn.setMinimumSize(QtCore.QSize(80, 0))
|
|
|
|
self.report_apply_btn.setMaximumSize(QtCore.QSize(80, 16777215))
|
|
|
|
self.report_apply_btn.setBaseSize(QtCore.QSize(80, 0))
|
|
|
|
self.report_apply_btn.setObjectName("report_apply_btn")
|
|
|
|
self.report_layout.addWidget(self.report_apply_btn)
|
|
|
|
self.report_layout.setStretch(1, 1)
|
|
|
|
self.report_layout.setStretch(2, 1)
|
2023-07-20 17:19:51 +08:00
|
|
|
self.report_layout.setStretch(3, 1)
|
2023-05-19 11:23:39 +08:00
|
|
|
self.horizontalLayout_4.addLayout(self.report_layout)
|
|
|
|
self.settings_layout.addWidget(self.report_group)
|
|
|
|
self.horizontalLayout_2.addLayout(self.settings_layout)
|
|
|
|
self.main_layout.addWidget(self.bottom_settings_group)
|
|
|
|
self.gridLayout_2.addLayout(self.main_layout, 0, 1, 1, 1)
|
|
|
|
MainWindow.setCentralWidget(self.main_widget)
|
|
|
|
|
|
|
|
self.retranslateUi(MainWindow)
|
|
|
|
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
|
|
|
|
|
|
|
def retranslateUi(self, MainWindow):
|
|
|
|
_translate = QtCore.QCoreApplication.translate
|
2023-08-11 17:41:31 +08:00
|
|
|
MainWindow.setWindowTitle(_translate("MainWindow", "Thermostat Control Panel"))
|
2023-05-19 11:23:39 +08:00
|
|
|
self.ch1_t_graph.setTitle(_translate("MainWindow", "Channel 1 Temperature"))
|
|
|
|
self.ch0_t_graph.setTitle(_translate("MainWindow", "Channel 0 Temperature"))
|
|
|
|
self.ch0_i_graph.setTitle(_translate("MainWindow", "Channel 0 Current"))
|
|
|
|
self.ch1_i_graph.setTitle(_translate("MainWindow", "Channel 1 Current"))
|
|
|
|
self.connect_btn.setText(_translate("MainWindow", "Connect"))
|
|
|
|
self.status_lbl.setText(_translate("MainWindow", "Disconnected"))
|
2023-07-26 13:50:29 +08:00
|
|
|
self.toolButton_2.setText(_translate("MainWindow", "..."))
|
2023-07-20 17:19:51 +08:00
|
|
|
self.report_lbl.setText(_translate("MainWindow", "Poll every: "))
|
2023-07-06 17:04:20 +08:00
|
|
|
self.report_refresh_spin.setSuffix(_translate("MainWindow", " s"))
|
2023-05-19 11:23:39 +08:00
|
|
|
self.report_box.setText(_translate("MainWindow", "Report"))
|
|
|
|
self.report_apply_btn.setText(_translate("MainWindow", "Apply"))
|
2023-07-06 16:06:33 +08:00
|
|
|
from pglive.sources.live_plot_widget import LivePlotWidget
|
2023-05-19 11:23:39 +08:00
|
|
|
from pyqtgraph.parametertree import ParameterTree
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
import sys
|
|
|
|
app = QtWidgets.QApplication(sys.argv)
|
|
|
|
MainWindow = QtWidgets.QMainWindow()
|
|
|
|
ui = Ui_MainWindow()
|
|
|
|
ui.setupUi(MainWindow)
|
|
|
|
MainWindow.show()
|
|
|
|
sys.exit(app.exec())
|