# Form implementation generated from reading ui file 'tec_qt.ui' # # Created by: PyQt6 UI code generator 6.5.2 # # 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) 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) self.ch0_tree.setObjectName("ch0_tree") self.graphs_layout.addWidget(self.ch0_tree, 0, 0, 1, 1) self.ch1_t_graph = LivePlotWidget(parent=self.graph_group) self.ch1_t_graph.setObjectName("ch1_t_graph") self.graphs_layout.addWidget(self.ch1_t_graph, 1, 1, 1, 1) self.ch0_t_graph = LivePlotWidget(parent=self.graph_group) self.ch0_t_graph.setObjectName("ch0_t_graph") self.graphs_layout.addWidget(self.ch0_t_graph, 0, 1, 1, 1) self.ch0_i_graph = LivePlotWidget(parent=self.graph_group) self.ch0_i_graph.setObjectName("ch0_i_graph") self.graphs_layout.addWidget(self.ch0_i_graph, 0, 2, 1, 1) self.ch1_i_graph = LivePlotWidget(parent=self.graph_group) 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.QToolButton(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.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.MenuButtonPopup) self.connect_btn.setToolButtonStyle(QtCore.Qt.ToolButtonStyle.ToolButtonFollowStyle) 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) self.status_lbl.setMinimumSize(QtCore.QSize(240, 0)) 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) self.thermostat_settings = QtWidgets.QToolButton(parent=self.bottom_settings_group) self.thermostat_settings.setEnabled(False) 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) self.plot_settings = QtWidgets.QToolButton(parent=self.bottom_settings_group) self.plot_settings.setPopupMode(QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup) self.plot_settings.setObjectName("plot_settings") self.settings_layout.addWidget(self.plot_settings) self.background_task_lbl = QtWidgets.QLabel(parent=self.bottom_settings_group) self.background_task_lbl.setObjectName("background_task_lbl") self.settings_layout.addWidget(self.background_task_lbl) self.loading_spinner = QtWaitingSpinner(parent=self.bottom_settings_group) self.loading_spinner.setObjectName("loading_spinner") self.settings_layout.addWidget(self.loading_spinner) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) self.settings_layout.addItem(spacerItem) 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") 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) 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) self.report_layout.setStretch(3, 1) 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.actionReset = QtGui.QAction(parent=MainWindow) self.actionReset.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionReset.setObjectName("actionReset") self.actionEnter_DFU_Mode = QtGui.QAction(parent=MainWindow) self.actionEnter_DFU_Mode.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionEnter_DFU_Mode.setObjectName("actionEnter_DFU_Mode") self.actionNetwork_Settings = QtGui.QAction(parent=MainWindow) self.actionNetwork_Settings.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionNetwork_Settings.setObjectName("actionNetwork_Settings") self.actionAbout_Thermostat = QtGui.QAction(parent=MainWindow) self.actionAbout_Thermostat.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionAbout_Thermostat.setObjectName("actionAbout_Thermostat") self.actionLoad_all_configs = QtGui.QAction(parent=MainWindow) self.actionLoad_all_configs.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionLoad_all_configs.setObjectName("actionLoad_all_configs") self.actionSave_all_configs = QtGui.QAction(parent=MainWindow) self.actionSave_all_configs.setMenuRole(QtGui.QAction.MenuRole.NoRole) self.actionSave_all_configs.setObjectName("actionSave_all_configs") self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "Thermostat Control Panel")) self.connect_btn.setText(_translate("MainWindow", "Connect")) self.status_lbl.setText(_translate("MainWindow", "Disconnected")) self.plot_settings.setToolTip(_translate("MainWindow", "Plot Settings")) self.plot_settings.setText(_translate("MainWindow", "📉")) self.background_task_lbl.setText(_translate("MainWindow", "Ready.")) self.report_lbl.setText(_translate("MainWindow", "Poll every: ")) self.report_refresh_spin.setSuffix(_translate("MainWindow", " s")) self.report_box.setText(_translate("MainWindow", "Report")) self.report_apply_btn.setText(_translate("MainWindow", "Apply")) self.actionReset.setText(_translate("MainWindow", "Reset")) self.actionReset.setToolTip(_translate("MainWindow", "Reset the Thermostat")) self.actionEnter_DFU_Mode.setText(_translate("MainWindow", "Enter DFU Mode")) self.actionEnter_DFU_Mode.setToolTip(_translate("MainWindow", "Reset thermostat and enter USB device firmware update (DFU) mode")) self.actionNetwork_Settings.setText(_translate("MainWindow", "Network Settings")) self.actionNetwork_Settings.setToolTip(_translate("MainWindow", "Configure IPv4 address, netmask length, and optional default gateway")) self.actionAbout_Thermostat.setText(_translate("MainWindow", "About Thermostat")) self.actionAbout_Thermostat.setToolTip(_translate("MainWindow", "Show Thermostat hardware revision, and settings related to i")) self.actionLoad_all_configs.setText(_translate("MainWindow", "Load all configs")) self.actionLoad_all_configs.setToolTip(_translate("MainWindow", "Restore configuration for all channels from flash")) self.actionSave_all_configs.setText(_translate("MainWindow", "Save all configs")) self.actionSave_all_configs.setToolTip(_translate("MainWindow", "Save configuration for all channels to flash")) from pglive.sources.live_plot_widget import LivePlotWidget from pyqtgraph.parametertree import ParameterTree from waitingspinnerwidget import QtWaitingSpinner 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())